Range.Sort 方法 (Excel)

对值区域进行排序。

语法

表达式排序 (Key1Order1Key2TypeOrder2Key3Order3HeaderOrderCustomMatchCaseOrientationSortMethodDataOption1DataOption2DataOption3)

expression 一个表示 Range 对象的变量。

参数

名称 必需/可选 数据类型 说明
Key1 可选 Variant 指定第一个排序字段,作为区域名称 (String) 或 Range 对象;确定要排序的值。
Order1 可选 XlSortOrder 确定 Key1 中指定值的排序顺序。
Key2 可选 Variant 第二个排序字段;对数据透视表进行排序时无法使用。
Type 可选 Variant 指定要在数据透视表中对哪种类型的元素进行排序。 指定 xLSortLabels 以按数据透视表区域的行/列标签区域中的扩展范围所针对的标签排序;当 Key1 使用 R1 表示法另外以值或子/总计区域中的单元格为目标时,指定 xLSortValues
Order2 可选 XlSortOrder 确定 Key2 中指定的值的排序顺序。
Key3 可选 Variant 第三个排序字段;对数据透视表进行排序时无法使用。
Order3 可选 XlSortOrder 确定 Key3 中指定值的排序顺序。
Header 可选 XlYesNoGuess 指定第一行是否包含标题信息。 默认值为 xlNo。如果希望 Excel 确定标题,指定 xlGuess
OrderCustom 可选 Variant 指定在自定义排序次序列表中的基于一的整数偏移。
MatchCase 可选 Variant 设置为 True 可执行区分大小写的排序; 设置为 False 可执行不区分大小写的排序;不能与数据透视表一起使用。
Orientation 可选 XlSortOrientation 指定是应按行(默认)还是按列进行排序。 将 xlSortColumns 值设置为 1 以按列排序。 将 xlSortRows 值设置为 2 以按行排序, (这是默认值) 。
SortMethod 可选 XlSortMethod 指定排序方法。
DataOption1 可选 XlSortDataOption 指定如何在 Key1 中指定的范围内对文本进行排序;不适用于数据透视表排序。
DataOption2 可选 XlSortDataOption 指定如何在 Key2 中指定的范围内对文本进行排序;不适用于数据透视表排序。
DataOption3 可选 XlSortDataOption 指定如何在 Key3 中指定的范围内对文本进行排序;不适用于数据透视表排序。

返回值

Variant

示例

此示例使用 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。