お知らせ

【Excel VBA】

Range.Sort メソッド

値の範囲を並べ替えます。

構文

{Range(範囲名) または Rangeオブジェクト}.Sort(Key1Order1Key2Type, Order2, Key3Order3HeaderOrderCustomMatchCaseOrientation, SortMethod, DataOption1DataOption2DataOption3)

パラメーター

名前必須データ型説明
Key1バリアント型Key1 の並べ替え範囲
Order1XlSortOrderKey1 の並べ替え順序
1: xlAscending 昇順(既定値)
2: xlDescending 降順
-4135: xlManual 手動
Key2バリアント型Key2 の並べ替え範囲
Typeバリアント型ピボットテーブル内で並べ替える要素の種類
XLSortLabels ピボットテーブルの範囲の [行/列ラベル] 領域の experession範囲の対象となるラベルで並べ替えます。
xLSortValues Key1 が R1C1 表記を使用して [値] または [サブ/総計] 領域のセルを追加的にターゲットとする
Order2XlSortOrderKey2 の並べ替え順序
Key3バリアント型Key3 の並べ替え範囲
Order3XlSortOrderKey3 の並び替え順序
HeaderXlYesNoGuessヘッダー行の有無
0: xlGuesss 自動
2: xlNo なし(規定値)
1: xlYes あり
OrderCustomバリアント型ユーザー設定の並べ替え順のリスト内の番号を示す、1 から始まる整数
MatchCaseバリアント型True 大文字と小文字を区別する
False 大文字と小文字を区別しない
OrientationXlSortOrientation並べ替え方向
1: xlSortColumns 列で並べ替え
2: xlSortRows 行で並べ替え(既定値)
SortMethodXlSortMethod並べ替え方法
DataOption1XlSortDataOptionKey1 の並べ替え方法
DataOption2XlSortDataOptionKey2 の並べ替え方法
DataOption3XlSortDataOptionKey3 の並べ替え方法

戻り値

戻り値は常にEmpty(バリアント型)

Sub SortMethod()
    Range("C1") = "見出し"
    Range("A:C").Sort key1:=Range("C2"), _
                      order1:=xlAscending, _
                      header:=xlYes
End Sub

SortFields コレクション

新しい並べ替えフィールドを作成し、SortFields オブジェクトを返します。

構文

Sort.Sortfields.Add(KeySortOnOrderCustomOrderDataOption)

パラメーター

名前必須データ型説明
Key必須Range並べ替えのキー値
SortOn省略可能XlSortOn並べ替えに使用するセルのプロパティ
Order省略可能XlSortOrder 並べ替え順序
CustomOrder省略可能バリアント型 (Variant)ユーザー設定の並べ替え順序を使用するかどうか
DataOption省略可能XlSortDataOption テキストの並べ替え方法

戻り値

SortField

ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort.SortFields.Add _
 Key:=Range("Table1[[#All],[Column1]]"), _
 SortOn:=xlSortOnValues, _
 Order:=xlAscending, _
 DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort
 .Header = xlYes
 .MatchCase = False
 .Orientation = xlTopToBottom
 .SortMethod = xlPinYin
 .Apply
End With

コメント