VBA:将VLOOKUP公式与动态lookup_value一起使用

时间:2018-11-20 01:16:15

标签: excel vba excel-vba vlookup

在工作表上执行格式化后,我试图将VLOOKUP公式嵌入到我的最后一栏中。我的查找值是针对具有以下列标题的列:“公司状态”。 这是我当前的流程:

  1. 使用列标题查找列号:“公司状态”:

    CompanyStateColumnNumber = WorksheetFunction.Match("Company State", ws.Range("1:1"), 0)

  2. 声明查找范围。在这种情况下,它存在于不是活动工作簿/工作表的工作表/工作簿中。因此,我使用(已经将TZsrcRange声明为Range类型)引用了它:

    Set TZsrchRange = TemplateWS.Range("A:C")

  3. 现在,我尝试将vlookup嵌入到我的最后一列中(我在工作表中找到了我的最后一列,并将其存储在变量“ NewestLCol”中。我想将其嵌入到该列中,直到最后一行(存储在变量“ LastRow”中):

    For x = 2 To LastRow
        Set dynamic_lookup_value = Cells(x, CompanyStateColumnNumber)
        Cells(x, NewestLCol).Formula = " =VLOOKUP(" & _
               dynamic_lookup_value.Address(0, 0) & _
             ", Templatews.Range(A:C).Address(0,0),3, FALSE)" 
    Next x
    
  4. 现在,当我运行它时,它没有嵌入公式,也没有给我任何价值。我的问题是什么?

1 个答案:

答案 0 :(得分:0)

尝试以此替换您的公式分配

cursor.execute('SELECT * FROM Photos WHERE name1=?', [gette])