2014-12-13 46 views
0

我在想如果有可能在VBA中编写用户定义函数以获取来自列中固定行的值调用函数用户定义的函数从调用函数列中的特定行获取值

也就是说,我有一些固定值的Excel表第2行;我想从用户定义的函数指的是那些值

需要说明的是,我想调用函数列的行2中的值,

:实际功能是比这更加复杂,但是解决这个问题会得到我,我需要是

伪代码

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

什么,我有如下

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

但是它具有编辑,以去除可能不必要的变量语法错误

回答

2

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

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

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

+0

完美!谢谢 – 2014-12-13 03:07:05