誰かが私を助けてくれるのではないかと思います。
以下のコードを使用して、ブックを閉じる前に並べ替えを実行しています。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Input").Protect "password", UserInterFaceOnly:=True
With ThisWorkbook.Worksheets("Input")
If .Range("B7").Value = "" Then Exit Sub
.Range("B7:AH400").Sort Key1:=.Range("B7"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
End Sub
コードは正常に動作しますが、機能をもう少し拡張して、「名前を入力してください」というテキスト値をソートから除外したいので、列 B のこの値を持つセルは常にすべてのデータの下の最後の行になります行。
解決策を見つけるのに 1 週間ほど費やしましたが、残念ながら解決できませんでした。また、Microsft サイトを見て、「Range.sort」メソッドに組み込み関数があるかどうかを確認しましたが、これについても空白にしました。
これが可能かどうかさえわかりませんが、誰かがこれを見て、どうすればこれを達成できるかについてのガイダンスを提供できるかどうか疑問に思いました.
多くの感謝と親切な敬意
クリス