我正在运行Excel 2003仍然是VBA的新功能,所以我很确定这是显而易见的。我有一个电子表格,其中列出了许多单位模型,谁拥有该单位以及哪些“团队”的人(团队1,团队2等)拥有该单位,我想在按团队排序时获得小计,我是使用此代码:
Sub Subtotals()
Rows.Select
Selection.Subtotal GroupBy:=4, Function:=xlCount, TotalList:=Array(4), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
End Sub
现在,这非常适合按团队计算单位并为每个团队插入小计,但由于某种原因,最后一个团队和总计大约距离最后一个条目约300行。为什么要这样做?
答案 0 :(得分:1)
这是不可预测的原因是不合格的Rows.Select
您需要指定您真正想要应用小计的范围,例如:
Sub Subtotals()
Dim rng as range
Set rng = ' the range you want
rng.Subtotal GroupBy:=4, Function:=xlCount, TotalList:=Array(4), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
End Sub
有许多方法可以在VBA,程序和手动中指定范围。使用哪一个主要取决于您的工作表布局。