並べ替え
Excel2007以降の並べ替え
SortオブジェクトとSortFieldオブジェクトを使って並べ替えを行う。
最大で64個のキーを設定可能。
Sub 並べ替え()
With ActiveSheet.Sort
'前回の並べ替え条件をクリア
.SortFields.Clear
'A1を基準に並べ替え 昇順
.SortFields.Add2 Key:=Range("A1"), Order:=xlAscending
'並べ替え範囲
.SetRange Range("A2:B12")
'並べ替え実行
.Apply
End WithEnd Sub
Excel2003までの並べ替え
Sortメソッドを使って並べ替えを行う。
最大で3個のキーを設定可能。
Range("A1").Sort Key1:=Range("A1"). Order1:=xlAscendung, Header:=xlYes
A1を含む表全体を、A列に入力されている数値の昇順で並べ替える
A1を基準に昇順で並べ替えを行った
Sortオブジェクトのメンバー
SortOn ~並べ替えのタイプ~
定数 | 数値 | 意味 |
---|---|---|
xlSortOnValues |
0
|
セル内のデータで並べ替え
|
xlSortOnCellColor |
1
|
セルの背景で並べ替え
|
xlSortOnFontColor |
2
|
セルの文字色で並べ替え
|
ActiveSheet.Sort.SortFields.Add2 Key:=Range("A1"), SortOn:=xlSortOnCellColor
Order ~並べ替えの順番~
定数 | 数値 | 意味 |
---|---|---|
xlAscending |
1
|
昇順
|
xlDescending |
2
|
降順
|
ActiveSheet.Sort.SortFields.Add2 Key:=Range("A1"), Order:=xlAscending
DataOption ~数値と文字が混在~
定数 | 数値 | 意味 |
---|---|---|
xlSortNormal |
0
|
数値と文字列別々
|
xlSortTextAsNumbers |
1
|
文字列を数値とみなす
|
ActiveSheet.Sort.SortFields.Add2 Key:=Range("A1"), DataOption:=xlSortnormal
Header ~タイトル行かどうか~
定数 | 数値 | 意味 |
---|---|---|
xlYes |
1
|
1行目はタイトル行
|
xlNo |
2
|
1行目はタイトル行ではない
|
ActiveSheet.Sort.Header = xlNo