我正在尝试使用VBA将公式添加到特定单元格。公式需要包含我之前在VBA脚本中计算的变量。
公式看起来像这样:
ActiveCell.FormulaR1C1 =
"=IFERROR(VLOOKUP(RC[-4],tbl_LTCSREP,rngCell_NoUsed.Column,FALSE),""NO LTCS
VALUE AVAILABLE"")"
rngCell.Column变量是我之前计算的变量。当我这样做时,VBA只是粘贴单元格中的纯文本,Excel本身无法使用变量后面的值,VLOOKUP会返回错误。
提前感谢您的支持。
答案 0 :(得分:0)
它将您的变量粘贴为文本,因为您已将其写为文本,而不是变量。
编写"Hello someVariable"
时,编译器将someVariable
解释为一段文本而不是变量。
解决方案:
"Hello " & someVariable
或者你的情况:
Dim str As String
str = "=IFERROR(VLOOKUP(RC[-4],tbl_LTCSREP, " & rngCell_NoUsed.Column & ",FALSE),""NO LTCS VALUE AVAILABLE"")"
ActiveCell.FormulaR1C1 = str
您会看到我们通过添加"
来关闭字符串的第一部分。然后,我们告诉编译器将(&
)与变量的内容连接起来。然后我们添加另一个连接运算符,我们还添加了另一个"
来表示我们再次输入纯文本。
可以通过这种方式更简单地考虑结果:
"text" & content_from_a_variable & "more text"
答案 1 :(得分:0)
完美无缺。 我已经尝试过这样做,如:
ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-4],tbl_LTCSREP," & _
rngCell_NoUsed.Column & ",FALSE),""NO LTCS VALUE AVAILABLE"")"
这也不起作用。 但我明白了。再次感谢。