2014-12-13 39 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

相關問題