子或函数未定义:解算器没有帮助

时间:2016-02-05 06:40:15

标签: excel vba excel-vba

我在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

1 个答案:

答案 0 :(得分:0)

如果您确定使用以下行的逻辑

Ret = VLookup(cell, Indirect(Concatenate("'", temp_var, "'!")), 5, 0)

我建议使用

代替Conconate功能
 str1 = "'" & temp_var & "'!"
 Ret = VLookup(cell, Range([Indirect(str1)]), 5, 0)