Excel VBA Subtotals留下了很大的差距

时间:2012-02-08 10:39:09

标签: excel vba excel-vba

我正在运行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行。为什么要这样做?

1 个答案:

答案 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,程序和手动中指定范围。使用哪一个主要取决于您的工作表布局。