VBAでデータを並び替えるときはRangeのSortメソッドを使います。
Range.Sort メソッド (Excel)
Sortという名前のシートにHeader1からHeader2にデータが入力されてます。
こちらのデータをHeader1を最優先キー
Header2を2番目の優先キーとして並び替えてみます。
RangeのSortメソッドを使用したコードは以下になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Option Explicit Sub sortValues() Dim sht As Worksheet Set sht = ThisWorkbook.Worksheets("sort") sht.Range("A1:C4").Sort key1:=sht.Range("A1"), order1:=xlAscending, _ key2:=sht.Range("B1"), order2:=xlAscending, _ Header:=xlYes Set sht = Nothing End Sub |
key1でA列を並び替えの最優先キーに指定します。
order1をxlAscendingに設定し、数値の小さい順に並び替えます。
key2でB列を並び替えの2番目に優先するキーに指定します。
order2をxlAscendingに設定し、アルファベットの小さい順(A→Z)に並び替えます。
HeaderをxlYesに設定して、1行目をデータではなく
ヘッダーとみなし、並び替えの対象から外します。
コードを実行するとデータの並び替えが行われます。
コメント