Excel VBA小计留下很大的差距

我运行Excel 2003仍然是新的VBA,所以很明显,我敢肯定。 我有一个电子表格,里面列出了一些单元模型,谁拥有这个单元,哪个(团队1,团队2等)拥有这个单元的团队,我想在团队sorting时得到一个小计,使用这个代码:

Sub Subtotals() Rows.Select Selection.Subtotal GroupBy:=4, Function:=xlCount, TotalList:=Array(4), _ Replace:=True, PageBreaks:=False, SummaryBelowData:=True End Sub 

现在这个工作可以完美地按照队伍计算单位并为每个队伍插入小计,但是由于某种原因,最后一个队伍和总计比最后一个队伍低了大约300排。 为什么这样做?

这是不可预测的原因是不合格的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中指定一个范围,程序和手动。 哪一个要使用主要取决于您的工作表布局。