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