繁体   English   中英

VBA:使用带有动态查找值的 VLOOKUP 公式

[英]VBA: Using VLOOKUP formula with a dynamic lookup_value

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

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

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

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

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

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

     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. 现在,当我运行它时,它没有嵌入公式,也没有给我一个值。 我的问题可能是什么?

尝试用这个替换你的公式分配

Cells(x, NewestLCol).Formula = "=VLOOKUP(" & _
                                dynamic_lookup_value.Address(0, 0) & _
                                "," & _
                                TZsrchRange.Address(External:=True) & _
                                ",3, FALSE)"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM