Excel VBA Application.Vlookup备用工作簿

时间:2016-03-10 19:47:59

标签: excel excel-vba vlookup excel-2013 vba

我正在努力将vlookup转换为Excel VBA中的另一个工作簿。

我的代码的上下文如下:

  1. Excel VB模块保存在工作簿中(我们称之为 wbMaster )。所有变量都是全局变量,公共变量和选项明确变量。
  2. 用户执行代码,其中一个对话框提示他们在桌面上选择现有文件(让我们称之为 wbSource )。
  3. 打开wbSource,检查wbSource列中的每个单元格,看它是否存在于wbMaster范围内(让我们称之为 rngLookHere )这是一个带有'workbook'范围的命名范围在wbMaster
  4. 如果vlookup失败,则表示wbSource中的单元格不存在于wbMaster中,因此它会写入错误的字符串数组。
  5. 然后发生了事情(输出错误到新表)
  6. 以下是我的第3步和第3步的代码。 4:

        For intCurrentRow = 3 To intMaxRows
            If IsError(Application.VLookup(Cells(intCurrentRow, intCurrentColumn), Range("rngLookHere"), 1, False)) Then
                arrErrors(intArrayCounter, 0) = Cells(i, 1)
                arrErrors(intArrayCounter, 1) = "Descriptive error. XX Not found in named range"
                intArrayCounter = intArrayCounter + 1
            End If
        Next
    

    当我执行以下代码时,我收到:

    运行时错误'1004'。 “对象'_Global'的方法'范围'失败。

    我试图明确地引用范围如下:

    wbMaster.Range("rngLookHere")
    

    然后会抛出以下错误:

    Object不支持此属性或方法

    有什么建议吗?谢谢!

0 个答案:

没有答案