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 函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注