|
同じフォーマットの表のシートが多数あります。
シートの表を日付でソートするマクロ(A)を組んでいたのですが、表をテーブルに変換することにしました。
すると、テーブルにソートマクロを使うとエラーで止まるようになりました。
改めて「マクロを記録」で記録してみたところ(B)、表の時は具体的なシート名等はなかったのですが、
テーブルでマクロを記録するとテーブル名が固定されて記録されてしまいます。
これをどのシートのテーブルでも使える汎用のマクロにすることはできないでしょうか。
よろしくお願いします。
(A)
ActiveWorkbook.ActiveSheet.AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.AutoFilter.Sort.SortFields.Add2 Key:=Range( _
"D4"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.ActiveSheet.AutoFilter.Sort
.header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
(B)
ActiveWorkbook.Worksheets("シート (5)").ListObjects("テーブル11").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("シート (5)").ListObjects("テーブル11").Sort.SortFields.Add2 _
Key:=Range("テーブル11[[#All],[記録日時]]"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("シート (5)").ListObjects("テーブル11").Sort
.header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
|
|