我想知道是否有可能在VBA中编写用户定义函数以从调用函数列中的固定行获取值
即我在excel表的第2行有一些固定值;我想从用户定义的函数
中引用这些值警告我想要调用函数列
的第2行中的值注意:实际功能比这更复杂,但是解决这个问题会让我得到我需要的地方
伪代码
Function GetStandardPayment()
GetStandardPayment = CallingColumn.Row(2).Value
End Function
我所拥有的是以下
Function GetStandardPayment()
GetStandardPayment = ActiveCell.Offset(ActiveCell.Column:2).Value
End Function
但是它有语法错误
答案 0 :(得分:2)
编辑删除可能不必要的变量。
您可以使用Application对象的Caller属性。在工作表单元格中使用UDF时,这将返回一个范围对象 - 函数所在的单元格。
Function GetStandardPayment()
Application.Volatile
GetStandardPayment = Cells(2, Application.Caller.Column)
End Function
使用Volatile属性,否则函数不会更新,因为函数参数中没有单元格引用。