複数シートに並び替え オートフィルタを一括で行おうとすると
ボタンがアクティブにならず、並び替えができません
並び替えるシート数が少ないなら手動でいいのですが
シート数が100
毎月やらなくちゃならない
となると、毎回やるのはめんどくさいですよねぇ
並び替えのマクロを組もう!!
と、VBA、マクロの参考本を買って読んでも
いろんなサイト見てまわったりしても
自分のやりたいやり方を書いているところは
ありません(苦)
マクロ登録ボタンを押して
シート毎に並び替え
登録!!
できたマクロは長ったらしくて美しくない!!!
最初はそれで我慢していましたが、どうにか短縮できないものかと
で、試行錯誤して作ってみましたところ
こうなりました
Sub ボタン_Click()
Dim シート As Integer
For シート = 1 To 100
Sheets(シート).Select
ActiveWorkbook.Worksheets(シート).SORT.SortFields.Clear
ActiveWorkbook.Worksheets(シート).SORT.SortFields.Add Key:=Range( _
"A1:A40"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets(シート).SORT.SortFields.Add Key:=Range( _
"B1:B40"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets(シート).SORT
.SetRange Range("A1:C40")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
Range("A1").Select
End With
Next
End Sub
シート1番めからスタートして100番目になるまで繰り返し
A1:C40を選択して
A列が第一候補
B列が第二候補
に昇順に並び替えです
理解さえすればどうってことなかったのですorz