公式中的LastCol无法使用AutoSum

时间:2016-03-14 14:48:34

标签: excel-vba sum subtotal vba excel

我遇到了将VBA写入Autosum的问题,其中列可能会不时增加或减少。以下面为例。我已经设置了我的LastCol以找到最后一列,然后我想从行的列B到最后一列自动运行以获得我的'总计。我想尽可能避免R1C1公式。此外,RC [-4]将根据电子表格中的列数而变化。

Sub AutoSum()

    Dim LastCol As Integer

    Sheets("Sheet1").Select
    LastCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column

    Cells(2, LastCol1 + 1).Select
    ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,RC[-4]: RC[-1])"

End Sub

1 个答案:

答案 0 :(得分:0)

试一试:

Sub AutoSum()

    Dim LastCol As Integer

    With Sheets("Sheet1")

        LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column

        .Cells(2, LastCol1 + 1).Formula = "=SUBTOTAL(9,Offset(B2,0,0,1," & LastCol-1 & "))"

    End With

End Sub

运行以上代码后:

enter image description here