エクセルVBAでソートを実施する
(数字のみで)
'With ActiveSheet '対象シートをアクティブにする
.Sort.SortFields.Clear '並び替え条件をクリア
'項目1 ==========================================
.Sort.SortFields.Add _
Key:=ActiveSheet.Cells(1, 2), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
'==================================================
'項目2
.Sort.SortFields.Add _
Key:=ActiveSheet.Cells(1, 1), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
With .Sort '並び替えを実行する
.SetRange Range(Cells(1, 1), Cells(9999, 4)) ’(ソートする範囲を指定)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
【その他】
①シートを指定してのソートは下記内容となります。
With Worksheets("データ")
② Key:=ActiveSheet.Cells(1, 2), ソートする項目 例はB列をソート
③ソートする項目は増やすことが可能(項目をコピーして追記する)
最終行と最終列の取得方法