Excel VBA Sum issue



我试图将位于另一个工作表中的列求和。我试着把表格2中从C2向下的所有东西加起来并把它放入表格1中E4的单元格中。

我有这段代码,一直工作得很好,直到现在它自己仍然工作得很好

ActiveCell.FormulaR1C1 = "=SUM('Sheet2'!C[-1]:C[-1])"

然而,当我现在使用它时,我得到一个1004错误消息,说它无法选择单元格。

所以我试着这样做:

ActiveCell.FormulaR1C1 = "=SUM('Sheet2'!C[-1]:C[-1])"

所以我试着使用我在网上找到的这段代码,但它也不起作用

Range("E4") = Application.WorksheetFunction.sum(Sheets("Sheet2").Range("C2:C"))

有什么最好的建议吗?

谢谢,

与其取整列C,我认为找到最后一行更有效。下面是一个示例:

Sub Calculate()
Dim ws As Worksheet, ws2 As Worksheet
Set ws = ThisWorkbook.Sheets("Test") 'Change the name of WS accordingly
Set ws2 = ThisWorkbook.Sheets("Data") 'Change the name of WS accordingly
lastrow = ws2.Cells(Rows.Count, "C").End(xlUp).Row 'Find last row used in column C in sheet 'Data'
ws.Range("E4").Value = Application.Sum(ws2.Range("C2:C" & lastrow))
End Sub

所以您需要将Sheet2中除单元格C1外的所有列C相加VBA:

Workbook("name of workbook").Sheets(1).Range("E4").Formula = "=SUM(Sheet2!C:C)"

如果C1是一个数字,你需要把它从总和中去掉,这将检查C1是否是一个数字,然后从总和中减去它,如果它不是一个数字,它将减去0

Workbook("name of workbook").Sheets(1).Range("E4").Formula = "=SUM(Sheet2!C:C)-IF(ISNUMBER(C1),C1,0)"

最新更新