以下のマクロは、私が記録したカスタム ソートです。実際のテーブル名を変数に置き換えたので、他のテーブル名に対してこれを実行できます。1つの名前に固有のものにしたくありませんでした。マクロを実行すると、次のようになります。
実行時エラー '1004': 指定された名前のアイテムが見つかりませんでした
ヘルプ ボタンをクリックすると、Excel のヘルプ メニューが表示されます。私が欠けているものを教えていただけますか?可能であれば、コードを短くする方法があります。録音が長くなる可能性があることは知っています。
**これはすべて表にあることに注意してください
Dim sh As Worksheet
Dim TableName As String
Set sh = ActiveSheet
TableName = sh.Name
ActiveWorkbook.Worksheets(TableName).ListObjects(TableName).sort. _
SortFields.Clear
ActiveWorkbook.Worksheets(TableName).ListObjects(TableName).sort. _
SortFields.Add Key:=Range(TableName, [BEVEL]), SortOn:=xlSortOnValues,
Order:=xlAscending, _
CustomOrder:="BEVEL_YES_MITER,BEVEL_NO_RADIUS", DataOption:=xlSortNormal _
ActiveWorkbook.Worksheets(TableName).ListObjects("TableName").sort. _
SortFields.Add Key:=Range(TableName, [MATERIAL]), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets(TableName).ListObjects(TableName).sort. _
SortFields.Add Key:=Range(TableName, [Length]), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(TableName).ListObjects(TableName).sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Selection.AutoFilter
End Sub