在没有参数的自定义函数中添加两个单元

mk1*_*117 2 excel vba excel-vba user-defined-functions

我正在尝试学习VBA for Excel.我正在观看有关VBA中自定义函数/用户定义函数的教程.我试图创建一个用户定义的函数,但它#REF!在我输入函数名称的单元格中显示错误.我正在尝试添加(A Cell + B Cell),而不将任何参数/参数传递给函数.我正在使用Offset来遍历具有该公式功能的Cell剩余的1,2个单元格.这是我的代码:

Option Explicit

Function ADD12()
Dim Number_1 As Integer
Dim Number_2 As Integer

Number_2 = ActiveCell.Offset(0, -2).Value
Number_1 = ActiveCell.Offset(0, -1).Value
ADD12 = Number_1 + Number_2
End Function
Run Code Online (Sandbox Code Playgroud)

我的工作表的截图:

工作表

Ron*_*eld 6

#REF错误是因为您不能将单元格地址用作函数名称.

但同时请注意,ActiveCell将永远在变化.您可能希望查看Caller函数所在的单元格.

例如:

Option Explicit

Function ADD_12()
Dim Number_1 As Integer
Dim Number_2 As Integer
Dim R As Range

Set R = Application.Caller

Number_2 = R.Offset(0, -2).Value
Number_1 = R.Offset(0, -1).Value
ADD_12 = Number_1 + Number_2
End Function
Run Code Online (Sandbox Code Playgroud)

  • @ mk117它指的是Excel通常的A1表示法中第12行第784行的单元格 (2认同)