2016-03-14 45 views
1

在將VBA寫入Autosum時,可能會隨時增加或減少列。以下面爲例。我已經設置了我的LastCol來查找最後一列,然後我想從該行的列B到最後一列自動調整以獲得我的「總計」。如果可能,我想避免使用R1C1配方。此外,RC [-4]將根據電子表格上的列數進行更改。無法使用公式中的LastCol自動求和

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 

回答

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

+0

沒有不起作用。在excel中出現的是= SUBTOTAL(9,B2:B),因此它不計算 – Conor

+0

@conor - 請參閱我的編輯版本。我測試了它,它工作。 –

+0

還沒有工作。它只返回來自B2字段的值。 – Conor