我有这个简单的代码:
Range("A1:C201").Select
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
当我尝试运行宏时,它显示错误“未定义Sub或功能”。我没有看到任何sintax错误,所以不确定我的VB设置是否有问题?
你能帮我吗?
答案 0 :(得分:1)
所有代码必须存在于一个子函数中。您不能在这些构造之外编写代码。
尝试一下:
Option Explicit
Public Sub runSubTotal()
Range("A1:C201").Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=xlSummaryBelow
End Sub
注意:您可以使它与任何选定的范围一起使用,而不是使此子例程的范围成为静态。使用以下代码,您可以在工作表中选择数据,然后运行宏。它将接受用户选择的任何内容:
Option Explicit
Public Sub runSubTotal()
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
End Sub