我正在嘗試編寫一個宏,該宏將在一列數字(如總和或平均值)下放置一個公式。我想出了這個:Excel宏插入功能
Sub foo()
ActiveSheet.Range(ActiveCell, ActiveCell.End(xlDown)).Select
ActiveCell.End(xlDown).Offset(1) = Application.WorksheetFunction.Sum(Selection)
End Sub
此函數將找到總和並將其放在您選擇頂部的數據列中的最後一個數字。這是有效的,但它不是動態的,新值只是一個值,如果我改變列中的一個數字,持有總和的單元格不會改變。所以我試圖把實際的功能放在單元格中。這是我目前有:
Sub foo()
ActiveCell.Offset(1).Formula = "=Sum(ActiveCell:ActiveCell.End(xlUp))"
End Sub
這個時候,我開始在底部,激活細胞,目前意在列的最後一個值。沒有檢測到錯誤,但輸出錯誤,「#NAME」。我試着玩報價,但沒有得到任何東西。例如:
Sub foo()
ActiveCell.Offset(1).Formula = "=Sum(" & ActiveCell:ActiveCell.End(xlUp) & ")"
End Sub
任何想法?
您需要獲取想要求和的範圍的'Address()',並將其用於公式中。 –
請詳細說明。 –
'ActiveSheet.Range(ActiveCell,ActiveCell.End(xlDown)).Address()'會給你想要求和的範圍的地址。在公式中代替'ActiveCell:ActiveCell.End(xlUp)' –