0
我正在寫一個宏,在vba中查找一個工作表中的值並返回數據並將其保存在另一個工作表中。但我得到一個編譯錯誤「編譯錯誤:子或功能未定義」。子或函數沒有定義:求解沒有幫助
我試圖通過選擇「解決方案」下的引用,但我仍然得到這個錯誤。
這裏是我的代碼::
For i = 1 To j
temp_var = config_sht_name(i)
MsgBox temp_var
For Each cell In Worksheets(Sheet_Name).Range("A9:A37")
On Error Resume Next
'Ret = Application.WorksheetFunction.VLookup(cell, Worksheets("config_sht_name[i]").Range("A9:E37"), 5, 0)
Ret = VLookup(cell, Indirect(Concatenate("'", temp_var, "'!")), 5, 0)
On Error GoTo 0
If Ret <> "" Then
Application.ActiveCell.Offset(0, i) = Ret
End If
MsgBox Ret
Next
Next i
我收到錯誤「拼接」和「間接」的功能。 請建議我錯過了什麼。
--Sanjeev
按照錯誤信息串聯和間接的邏輯沒有內置VBA功能。 – Jules
'temp_var'持有什麼值?你期望'Concatenate(「'」,temp_var,「'!」)函數返回什麼? 「工作表Sheet1!」? – shahkalpesh
在代碼編輯器的最頂端添加「OPTION EXPLICIT」(是的,在函數之外,再次,整個代碼編輯器窗口的第一行應該是這個)。經常解決這類問題(該指令意味着沒有變量可以在沒有被首先聲明的情況下使用)。唯一的「不適」是在第一次使用之前你必須「變暗」變量 – 2016-02-05 07:24:46