Range.Sort メソッド (Excel)Range.Sort Method (Excel)

値の範囲を並べ替えます。Sorts a range of values.

構文Syntax

expressionexpression. Sort (_Key1_, _Order1_, _Key2_, _Type_, _Order2_, _Key3_, _Order3_, _Header_, _OrderCustom_, _MatchCase_, _Orientation_, _SortMethod_, _DataOption1_, _DataOption2_, _DataOption3_)

expressionRange オブジェクトを表す変数です。expression A variable that represents a Range object.

パラメーターParameters

名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
Key1Key1 省略可能Optional バリアント型Variant 最初の並べ替えフィールドを範囲名 (文字列) または Range オブジェクトで指定し、並べ替える値を特定します。Specifies the first sort field, either as a range name (String) or Range object; determines the values to be sorted.
Order1Order1 省略可能Optional xlSortOrderxlSortOrder Key1 で指定した値の並び替え順序を指定します。Determines the sort order for the values specified in Key1.
Key2Key2 省略可能Optional バリアント型Variant 2 番目の並べ替えフィールド。ピボット テーブルを並べ替える場合には使用できません。Second sort field; cannot be used when sorting a pivot table.
TypeType 省略可能Optional バリアント型Variant 並べ替える要素を指定します。Specifies which elements are to be sorted.
Order2Order2 省略可能Optional xlSortOrderxlSortOrder Key2 で指定した値の並び替え順序を指定します。Determines the sort order for the values specified in Key2.
Key3Key3 省略可能Optional バリアント型Variant 3 番目の並べ替えフィールド。ピボット テーブルを並べ替える場合には使用できません。Third sort field; cannot be used when sorting a pivot table.
Order3Order3 省略可能Optional xlSortOrderxlSortOrder Key3 で指定した値の並び替え順序を指定します。Determines the sort order for the values specified in Key3.
HeaderHeader 省略可能Optional xlYesNoGuessxlYesNoGuess 最初の行にヘッダー情報が含まれるかどうかを指定します。Specifies whether the first row contains header information. xlNo は既定値です。Excel にヘッダーを決定させるには、xlGuess を指定します。xlNo is the default value; specify xlGuess if you want Excel to attempt to determine the header.
OrderCustomOrderCustom 省略可能Optional バリアント型Variant ユーザー設定の並べ替え順のリスト内の番号を示す、1 から始まる整数を指定します。Specifies a one-based integer offset into the list of custom sort orders.
MatchCaseMatchCase 省略可能Optional バリアント型Variant True の場合、大文字と小文字を区別して並べ替えを行います。False の場合、大文字と小文字を区別しないで並べ替えを行います。ピボット テーブルの並べ替えには使用できません。Set to True to perform a case-sensitive sort, False to perform non-case sensitive sort; cannot be used with pivot tables.
OrientationOrientation 省略可能Optional xlSortOrientationxlSortOrientation 行で並べ替えるか (既定) または列で並べ替えるかを指定します。Specifies if the sort should be by row (default) or column. 列で並べ替えるには、xlSortColumns 値を 1 に設定します。Set xlSortColumns value to 1 to sort by column. 行で並べ替えるには、xlSortRows 値を 2 に設定します。Set xlSortRows value to 2 to sort by row. (これが既定値です。)This is the default value.
SortMethodSortMethod 省略可能Optional xlSortMethodxlSortMethod 並べ替えの方法を指定します。Specifies the sort method.
DataOption1DataOption1 省略可能Optional xlSortDataOptionxlSortDataOption Key1 で指定した範囲でテキストを並べ替える方法を指定します。ピボット テーブルの並べ替えには適用されません。Specifies how to sort text in the range specified in Key1; does not apply to pivot table sorting.
DataOption2DataOption2 省略可能Optional xlSortDataOptionxlSortDataOption Key2 で指定した範囲でテキストを並べ替える方法を指定します。ピボット テーブルの並べ替えには適用されません。Specifies how to sort text in the range specified in Key2; does not apply to pivot table sorting.
DataOption3DataOption3 省略可能Optional xlSortDataOptionxlSortDataOption Key3 で指定した範囲でテキストを並べ替える方法を指定します。ピボット テーブルの並べ替えには適用されません。Specifies how to sort text in the range specified in Key3; does not apply to pivot table sorting.

戻り値Return value

バリアント型Variant

Example

サンプル コードの提供元: Holy Macro! Sample code provided by: Holy Macro! Books、「Holy Macro! It's 2,500 Excel VBA ExamplesBooks, Holy Macro! It's 2,500 Excel VBA Examples

この例では、ColorIndex プロパティを使用して、列 A 内のセルの色の値を取得し、その値を使用して色による範囲の並べ替えを行います。This example gets the value of the color of a cell in column A using the ColorIndex property, and then uses that value to sort the range by color.

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

共同作成者についてAbout the contributor

Holy Macro! Books は、Office を使用する人々が楽しめる本を出版しています。Holy Macro! Books publishes entertaining books for people who use Office. カタログの完全版は、MrExcel.com を参照してください。See the complete catalog at MrExcel.com.

関連項目See also

Range オブジェクトRange Object