前回日付順に並べ替えるマクロを記録しました。
私は普段VBAばかり使っていますが、たまにマクロを使います。
マクロで記録したことは、実はVBAでコードとして記録されています。
Sub Macro1()
‘
‘ Macro1 Macro
‘
‘
Range(“A3:E30”).Select
Range(“E30”).Activate
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add Key:=Range(“A3:A30”) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add Key:=Range(“B3:B30”) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(“Sheet1”).Sort
.SetRange Range(“A3:E30”)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
これだけ見ても何が何だかわかりませんが、これが日付順に並べ替えるコードです。
マクロで記録したのは、日付順に並べ替える範囲がA3~E30です。ですのでこのマクロで日付順
に並べ替えようとしても、何回やってもこの範囲でしか並べ替えてくれません。
ですので、ここで変数を使い、範囲を常に最後の行までとれるように、マクロの記録で記述したコードを
変更します。
替えるところは、Range()と記述されされているところを変更していきます。