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

VBA using vlookup of indirect range for formula in cell

我确定这是我使用引号和撇号的方式的错误,但我这辈子都无法修复它。我正在 运行 在 VBA 中循环以在间接范围内添加 vlookup。当我只是根据我所在的行号使用间接单元格时,我没有错误(见下文):

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

其中 B1 是具有我要引用的 sheet 名称的单元格。

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

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

我确定它与引号有关,但我无法弄明白,请帮忙!

这就是您想要的,其中 sheet 名称在 b1 中,table 数组 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