Range.Sort メソッド (Excel)

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

構文

Sort (key1, order1, key2, type, order2, key3, order3, header, OrderCustom, MatchCase, orientation, SortMethod, DataOption1, DataOption2, DataOption3)

expressionRange オブジェクトを表す変数です。

パラメーター

名前 必須 / オプション データ型 説明
Key1 省略可能 バリアント型 (Variant) 最初の並べ替えフィールドを範囲名 (String) または 範囲 オブジェクトとして指定します。は、並べ替える値を決定します。
Order1 省略可能 XlSortOrder Key1 で指定した値の並び替え順序を指定します。
Key2 省略可能 バリアント型 (Variant) 2 番目の並べ替えフィールド。ピボットテーブルの並べ替えには使用できません。
Type 省略可能 バリアント型 (Variant) ピボットテーブル内で並べ替える要素の種類を指定します。 ピボットテーブルの範囲の行/列ラベル領域のエクスペリエンス範囲の対象となるラベルで並べ替えるには xLSortLabels を指定します。または、Key1 が R1C1 表記を使用して値または小計領域のセルを追加でターゲットにする場合は xLSortValues を指定します。
Order2 省略可能 XlSortOrder キー 2 で指定した値の並べ替え順序を決定します。
Key3 省略可能 バリアント型 (Variant) 3 番目の並べ替えフィールド。ピボットテーブルの並べ替えには使用できません。
Order3 省略可能 XlSortOrder Key3 で指定した値の並び替え順序を指定します。
Header 省略可能 XlYesNoGuess 最初の行にヘッダー情報が含まれるかどうかを指定します。 xlNo は既定値です。Excel にヘッダーを決定させるには、xlGuess を指定します。
OrderCustom 省略可能 バリアント型 ユーザー設定の並べ替え順のリスト内の番号を示す、1 から始まる整数を指定します。
MatchCase 省略可能 バリアント型 (Variant) 大文字と小文字を区別した並べ替えを実行する場合は True に設定し、大文字と小文字を区別しない並べ替えを実行するには False に設定します。はピボットテーブルでは使用できません。
Orientation 省略可能 XlSortOrientation 行で並べ替えるか (既定) または列で並べ替えるかを指定します。 列で並べ替えるには、 xlSortColumns の 値を 1 に設定します。 行で並べ替えるには、 xlSortRows 値を 2 に設定します (これが既定値です)。
SortMethod 省略可能 XlSortMethod 並べ替えの方法を指定します。
DataOption1 省略可能 XlSortDataOption Key1 で指定された範囲内のテキストを並べ替える方法を指定します。ピボットテーブルの並べ替えには適用されません。
DataOption2 省略可能 XlSortDataOption Key2 で指定された範囲内のテキストを並べ替える方法を指定します。ピボットテーブルの並べ替えには適用されません。
DataOption3 省略可能 XlSortDataOption キー 3 で指定された範囲内のテキストを並べ替える方法を指定します。ピボットテーブルの並べ替えには適用されません。

戻り値

バリアント型

この例では、 ColorIndex プロパティを使用して列 A のセルの色の値を取得し、その値を使用して色で範囲を並べ替えます。

Sub ColorSort()
   'Set up your variables and turn off screen updating.
   Dim iCounter As Integer
   Application.ScreenUpdating = False
   
   'For each cell in column A, go through and place the color index value of the cell in column C.
   For iCounter = 2 To 55
      Cells(iCounter, 3) = _
         Cells(iCounter, 1).Interior.ColorIndex
   Next iCounter
   
   'Sort the rows based on the data in column C
   Range("C1") = "Index"
   Columns("A:C").Sort key1:=Range("C2"), _
      order1:=xlAscending, header:=xlYes
   
   'Clear out the temporary sorting value in column C, and turn screen updating back on.
   Columns(3).ClearContents
   Application.ScreenUpdating = True
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。