【问题标题】:Vba: vlookup for entire columnVba:整列的vlookup
【发布时间】:2015-10-21 06:55:52
【问题描述】:

我有成本中心代码的 B 列和部门的 D 列。我需要做一个vlookup来填写相关成本中心代码的部门名称。

目前的代码是这样的: Dim MyStringVar1= Application.Vlookup(Range("B7"),_ Worksheets("VLOOKUP Table").Range("A2:B1000"),2,True)

但是,我不想只为 D7 做 vlookup,而是想为整个专栏做 vlookup。我的范围不固定(B列可能有100或200行,取决于项目的数量。)

如何将公式应用于整个列?而不仅仅是 D7

【问题讨论】:

    标签: vba


    【解决方案1】:

    假设您要添加公式=VLOOKUP(B2,'VLOOKUP Table'!A$2:B$1000,2,TRUE) 到范围 D3:D10,其中 'B2' 将在每一行之后递增,那么代码将是:

    Range("D3:D10").Formula= "=VLOOKUP(B2,'VLOOKUP Table'!A$2:B$1000,2,TRUE)"
    

    【讨论】:

      【解决方案2】:
      Dim This As Worksheet
      
      Set This = ThisWorkbook.Sheets(1)
      
      This.Activate
          This.Range("D7", Range("A2").End(xlDown).Offset(0, 3)).Formula = "=VLOOKUP(B2,[INSERT SHEET]!$A:$D,2,FALSE)"
      

      如果数据在 sheet2 中,您只需在 [INSERT SHEET] 中插入 sheet2。名字是 sheet2 还是其他名字都无所谓,直接叫 sheet2 就行了

      【讨论】:

        【解决方案3】:

        您可以在 R1C1 公式中使用相对引用,然后将其粘贴到您的目标范围,您需要先找到目标范围,可能使用类似 .end(xldown).row 的东西

        请参阅此以获取有关总体思路的参考:

        http://macromatician.blogspot.co.uk/2013/02/how-to-add-formula-to-worksheet-range.html

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-10-20
          • 2013-04-26
          • 2023-03-10
          • 1970-01-01
          相关资源
          最近更新 更多