SUMfunction与另一张纸的数据
我想在VBA中使用引用另一个工作表的SUM函数。 该function需要有dynamicinput,因此我正在使用“单元格”。
下面的代码简单地添加两个单元格效果很好:
Worksheets("Derived Data").Cells(2, 1).Formula = "=sheet1!" & (Cells(2, 2).Address & "+" & "sheet1!" & Cells(6, 2).Address)
当我尝试使用诸如SUM或AVERAGE或任何其他函数的函数时,VBA将该函数解释为子macros而不是EXCEL函数
Worksheets("Derived Data").Cells(i, 1).Formula = "=sheet1!" & Sum(Cells(2, 2).Address & ":" & "sheet1!" & Cells(6, 2).Address)
我的参考是错误的?
注意:单元格和列已经被固定用于debugging。
这是近距离试试这个:
Worksheets("Derived Data").Cells(i, 1).Formula = "=sum(sheet1!" & Range(Cells(2, 2), Cells(6, 2)).Address & ")"
由于公式是要求一个范围,使用VBA你需要使用范围。
为了更容易编辑我的偏好是分割它,但上面的单行工作。
Dim rng as Range with sheets("Sheets1") set rng = .Range(.Cells(2, 2), .Cells(6, 2)) end with Worksheets("Derived Data").Cells(i, 1).Formula = "=sum(" & rng.Parent.Name & "!" & rng.Address & ")"
你几乎在那里,你只是没有正确的语法,让VBA设置公式。 尝试这个:
Worksheets("Derived Data").Cells(i, 1).Formula = "=Sum(sheet1!" & Cells(2, 2).Address & ":sheet1!" & Cells(6, 2).Address & ")"