Vba:整个专栏的vlookup

时间:2015-10-21 06:55:53

标签: vba

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

目前的代码是这样的: Dim MyStringVar1 = Application.Vlookup(范围(" B7"),_ 工作表(" VLOOKUP表")。范​​围(" A2:B1000"),2,True)

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

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

3 个答案:

答案 0 :(得分: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)"

答案 1 :(得分:1)

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中,则只需在sheet2中插入[INSERT SHEET]即可。如果名称是sheet2或其他名称,则无关紧要,只需将其命名为sheet2

即可

答案 2 :(得分:0)

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

的内容。

有关一般概念的参考,请参阅此内容:

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