【问题标题】:VBA using vlookup of indirect range for formula in cellVBA使用vlookup对单元格中的公式进行间接范围查找
【发布时间】:2016-05-17 20:04:59
【问题描述】:

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

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

我确定是引号引起的,但我无法弄清楚,请帮忙!

【问题讨论】:

  • 一个太多) 最后删除一个。
  • "=VLOOKUP(A" & n & ",INDIRECT(""'"" & B1 & ""'!A1:H76""),3,0)"

标签: vba vlookup excel-indirect


【解决方案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

【讨论】:

    猜你喜欢
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多