【问题标题】:Dynamic vlookup Columns Range selection give error 1004动态 vlookup 列范围选择给出错误 1004
【发布时间】:2020-10-08 02:32:00
【问题描述】:

我正在处理单个工作簿中的动态 vlookup。有多张纸。 首先,我一直在使用 Worksheet 函数通过列名(“标题名称”)获取列号。它在工作时准确给出列号。

但是当我尝试在下面的代码中设置范围时,它给出了运行时错误 1004。

Set srchRange = OB1.Worksheets(7).Range("wsLCNo3,wsLCNo4").EntireColumn.Select

我想在上面的代码中发送搜索范围,我想通过范围选择整个列:例如:
Set srchRange = OB1.Worksheets(7).Range("A:Z")

以下是参考代码

wsLR = OB1.Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Row

        wsLCNo1 = WorksheetFunction.Match("hs", OB1.Worksheets(2).Range("2:2"), 0) ' gives reference to column no
        wsLCNo2 = WorksheetFunction.Match("Schedulescope", OB1.Worksheets(2).Range("2:2"), 0) ' gives reference to column no
        wsLCNo3 = WorksheetFunction.Match("HW ", OB1.Worksheets(7).Range("2:2"), 0) ' gives reference to column no
        wsLCNo4 = WorksheetFunction.Match("SW scope", OB1.Worksheets(7).Range("2:2"), 0) ' gives reference to column no
        diff = (wsLCNo4 - wsLCNo3) + 1


        OB1.Worksheets(7).Activate



        Set srchRange = OB1.Worksheets(7).Range("wsLCNo3,wsLCNo4").EntireColumn.Select



         OB1.Worksheets(2).Activate
        For x = 3 To wsLR

            Set dynamic_lookup_value1 = Cells(x, wsLCNo1)
            OB1.Worksheets(7).Activate
            Set dynamic_lookup_value2 = Cells(x, wsLCNo3)
            Set dynamic_lookup_value3 = Cells(x, wsLCNo4)
            c1 = dynamic_lookup_value2.Address(0, 0)
            c2 = dynamic_lookup_value3.Address(0, 0)

            OB1.Worksheets(2).Activate


              Cells(x, wsLCNo2).Formula = "=VLOOKUP(" & _
                                        dynamic_lookup_value1.Address(0, 0) & _
                                        "," & _
                                        srchRange.Address(External:=True) & _
                                        "," & diff & ", FALSE)"

             Next x

【问题讨论】:

  • Range(wsLCNo3 & ":" & wsLCNo4)

标签: excel vba


【解决方案1】:

首先,确保wsLCNoX 的值符合您的预期,然后使用:

Set srchRange = OB1.Worksheets(7).Columns(wsLCNo3).Resize(,wsLCNo4)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-26
    • 2018-09-06
    • 2012-06-12
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    相关资源
    最近更新 更多