如何在VBA中使用求和函数,我正在尝试以下内容,但似乎不起作用。
temp=Application.run("Sum",range("A1").value,range("A2").value)
Range("A1").value=temp
即 如果A1 = 3和A2 = 3 我希望最终值为9。
答案 0 :(得分:2)
使用
Application.WorksheetFunction.Sum(Range("A1"),Range("A2"))
请注意,如果您没有在前面声明工作表名称,那么它将隐式使用当前的Activesheet
,而这可能并不总是您想要的。
您可以使用With
语句为父工作表提供引用,例如
With ThisWorkbook.Worksheets("Sheet1")
temp = Application.WorksheetFunction.Sum(.Range("A1"),.Range("A2"))
End With
好像您在先前的问题中提到的那样:3 + 3是6。
如果要乘法,请执行以下操作:
temp = .Range("A1") * .Range("A2")
或
temp = Application.WorksheetFunction.Product(.Range("A1") ,.Range("A2"))
Application.Run用于按名称运行宏并传递所需的参数。除非您有一个名为"Sum"
的宏,否则我会惊讶地编译该行。我也不喜欢以函数命名的宏。令人困惑。像上面显示的那样使用WorksheetFunction
方法很简单。
答案 1 :(得分:0)
您也可以尝试这个。
Sub Sum_num()
Dim temp As Integer
temp = Range("A1") + Range("A2")
MsgBox temp
End Sub