Vba:如何按多列对工作表进行排序
您可以使用以下基本语法通过 VBA 对 Excel 工作表按多列进行排序:
Sub SortMultipleColumns()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
Key2:=Range(" B1 "), Order2:=xlDescending, _
Header:=xlYes
End Sub
此特定示例首先按 A 列中的值按升序对A1:B11范围内的单元格进行排序,然后按 B 列中的值按降序排序。
请注意, Header:=xlYes指定第一行应被视为标题行。
以下示例展示了如何在实践中使用此语法。
示例:使用 VBA 按多列对 Excel 工作表进行排序
假设我们在 Excel 中有以下数据集,其中包含有关各种篮球运动员的信息:
假设我们想按以下方式对数据集进行排序:
- 首先,按Team列中的值按升序(A 到 Z)排序。
- 接下来,按Points列中的值按降序(从大到小)排序。
我们可以创建以下宏来执行此操作:
Sub SortMultipleColumns()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
Key2:=Range(" B1 "), Order2:=xlDescending, _
Header:=xlYes
End Sub
当我们运行这个宏时,我们会收到以下输出:
行现在按球队名称升序排序,并按分数降序排序。
注意#1 :在这个例子中,我们对两列进行排序。但是,您可以指定任意数量的键来对更多列进行排序。
注意#2 :您可以在此处找到 VBA排序方法的完整文档。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务:
VBA:如何编写 AVERAGEIF 和 AVERAGEIFS 函数
VBA:如何编写 SUMIF 和 SUMIFS 函数
VBA:如何编写 COUNTIF 和 COUNTIFS 函数