如何在VBA中创建求和函数

时间:2018-08-22 05:58:20

标签: vba

如何在VBA中使用求和函数,我正在尝试以下内容,但似乎不起作用。

temp=Application.run("Sum",range("A1").value,range("A2").value)
Range("A1").value=temp

即 如果A1 = 3和A2 = 3 我希望最终值为9。

2 个答案:

答案 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