VBA使用间接范围的vlookup为单元格中的公式

时间:2016-05-17 20:05:00

标签: vba vlookup excel-indirect

我确定我使用引号和撇号的方式有误,但对于我的生活,我无法解决它。我在VBA中运行循环以在间接范围内添加vlookup。当我只使用基于行号I&m 39的间接单元格时,我没有错误(见下文):

For n = 6 To 77
    Range("A" & n).Formula = "=IF(INDIRECT(""'"" & B1 & ""'!A" & n & """)="""","""",INDIRECT(""'"" & B1 & ""'!A" & n & """))"
Next n

其中B1是具有我想要引用的工作表名称的单元格。

当我尝试将相同的逻辑合并到VLOOKUP中时,我收到运行时错误:

For n = 6 To 77
    Range("C" & n).Formula = "=VLOOKUP(A" & n & ",INDIRECT(""'"" & B1 & ""'!A1:H76""" & "),3,0))"
Next n

我确定它带有引号,但我无法弄清楚,请帮忙!

1 个答案:

答案 0 :(得分:1)

这就是你想要的,其中工作表名称在b1和表数组A1中:H76在单元格b2中

Dim n As Long

For n = 6 To 77

Range("c" & n).Formula = "=VLOOKUP(a" & n & ", INDIRECT(""'"" & b1 & ""'!"" & b2),3,0)"

Next n