如何使用vba中的小计功能(附示例)


您可以使用 Excel 中的SUBTOTAL函数仅计算工作表上可见单元格的总体统计数据。

您可以在 VBA 中使用以下基本语法来使用 SUBTOTAL 函数:

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

此特定示例计算B2:B11范围内可见单元格中的值的总和,并将结果显示在单元格A16中。

请注意, Subtotal方法的第一个参数指定要使用的聚合方法,其中:

  • 1 :中
  • 2 :账户
  • 3 :账户
  • 4 :最大
  • 5 :最小值
  • 6 :产品
  • 7 :标准偏差
  • 8 :标准偏差
  • 9 :总和
  • 10 :VAR
  • 11 :可变地址解析协议

下面的例子展示了如何在实践中使用VBA中的小计方法。

示例:如何在 VBA 中使用小计

假设我们在 Excel 中有以下数据集,其中包含有关各种篮球运动员的信息:

现在假设我们应用一个过滤器来仅显示团队等于 A 或 C 的行:

我们可以创建以下宏来计算点列中可见单元格的总和并将结果显示在单元格A16中:

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

当我们运行这个宏时,我们会收到以下输出:

请注意,单元格A16包含值168

这告诉我们,点列中可见的单元格总和为 168。

我们还可以更改Subtotal方法的第一个参数的值来计算不同的指标。

例如,我们可以使用值1来计算点列中可见单元格的平均值:

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub

当我们运行这个宏时,我们会收到以下输出:

请注意,单元格A16包含值24

这告诉我们,点列中可见单元格的平均值是 24。

注意:您可以在此处找到 VBA小计方法的完整文档。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何添加范围内的值
VBA:如何计算范围的平均值
VBA:如何计算范围内的行数

添加评论

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