用户定义的函数,用于从调用函数的列中的特定行获取值

时间:2014-12-13 02:15:33

标签: excel vba

我想知道是否有可能在VBA中编写用户定义函数以从调用函数列中的固定行获取值

即我在excel表的第2行有一些固定值;我想从用户定义的函数

中引用这些值

警告我想要调用函数列

的第2行中的值

注意:实际功能比这更复杂,但是解决这个问题会让我得到我需要的地方

伪代码

Function GetStandardPayment()
    GetStandardPayment = CallingColumn.Row(2).Value
End Function

我所拥有的是以下

Function GetStandardPayment()
    GetStandardPayment = ActiveCell.Offset(ActiveCell.Column:2).Value
End Function

但是它有语法错误

1 个答案:

答案 0 :(得分:2)

编辑删除可能不必要的变量。

您可以使用Application对象的Caller属性。在工作表单元格中使用UDF时,这将返回一个范围对象 - 函数所在的单元格。

Function GetStandardPayment()
  Application.Volatile
  GetStandardPayment = Cells(2, Application.Caller.Column)
End Function

使用Volatile属性,否则函数不会更新,因为函数参数中没有单元格引用。