Range.Sort メソッド
構文
{Range(範囲名) または Rangeオブジェクト}.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
パラメーター
| 名前 | 必須 | データ型 | 説明 |
|---|---|---|---|
| Key1 | – | バリアント型 | Key1 の並べ替え範囲 |
| Order1 | – | XlSortOrder | Key1 の並べ替え順序 1: xlAscending 昇順(既定値) 2: xlDescending 降順 -4135: xlManual 手動 |
| Key2 | – | バリアント型 | Key2 の並べ替え範囲 |
| Type | – | バリアント型 | ピボットテーブル内で並べ替える要素の種類 XLSortLabels ピボットテーブルの範囲の [行/列ラベル] 領域の experession範囲の対象となるラベルで並べ替えます。 xLSortValues Key1 が R1C1 表記を使用して [値] または [サブ/総計] 領域のセルを追加的にターゲットとする |
| Order2 | – | XlSortOrder | Key2 の並べ替え順序 |
| Key3 | – | バリアント型 | Key3 の並べ替え範囲 |
| Order3 | – | XlSortOrder | Key3 の並び替え順序 |
| Header | – | XlYesNoGuess | ヘッダー行の有無 0: xlGuesss 自動 2: xlNo なし(規定値) 1: xlYes あり |
| OrderCustom | – | バリアント型 | ユーザー設定の並べ替え順のリスト内の番号を示す、1 から始まる整数 |
| MatchCase | – | バリアント型 | True 大文字と小文字を区別する False 大文字と小文字を区別しない |
| Orientation | – | XlSortOrientation | 並べ替え方向 1: xlSortColumns 列で並べ替え 2: xlSortRows 行で並べ替え(既定値) |
| SortMethod | – | XlSortMethod | 並べ替え方法 |
| DataOption1 | – | XlSortDataOption | Key1 の並べ替え方法 |
| DataOption2 | – | XlSortDataOption | Key2 の並べ替え方法 |
| DataOption3 | – | XlSortDataOption | Key3 の並べ替え方法 |
戻り値
戻り値は常にEmpty(バリアント型)
Sub SortMethod()
Range("C1") = "見出し"
Range("A:C").Sort key1:=Range("C2"), _
order1:=xlAscending, _
header:=xlYes
End Sub
SortFields コレクション
新しい並べ替えフィールドを作成し、SortFields オブジェクトを返します。
構文
Sort.Sortfields.Add(Key, SortOn, Order, CustomOrder, DataOption)
パラメーター
| 名前 | 必須 | データ型 | 説明 |
|---|---|---|---|
| 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

コメント