【发布时间】:2020-09-30 21:20:52
【问题描述】:
我正在 VBA 中创建一个 VLOOKUP 公式。该公式在我的电子表格中运行良好,但是当我尝试在 VBA 中自动化它时,我在公式中得到了一个 @'。
这是宏中的行:
Range("B" & intUserRow).FormulaR1C1 = "=VLOOKUP(TEXT(A" & intUserRow & "," & vbDoubleQuote & "0" & vbDoubleQuote & "),UserNames!A1:B166,2)"
在 VBA 中添加一个 Watch,它会告诉我:
"=VLOOKUP(TEXT(A7,"0"),UserNames!A1:B166,2)"
但在 Excel 中,公式以 @ 和单引号结尾:
=VLOOKUP(TEXT(@'A7',"0"),UserNames!'A1':'B166',2)
@' 是从哪里来的?我短暂地看到了一个弹出窗口,上面写着“我的公式中哪里有@?”但是弹出窗口在我阅读之前就消失了。 我认为 Excel 不喜欢某些格式,但在 Watch 窗口中对我来说是正确的。
【问题讨论】:
-
刚发现A6后面还有一个单引号
-
试试
.Fomula而不是.FormulaR1C1 -
A7 中的值是多少,您能否包括在 Excel 中键入的公式。
-
找到了答案!我正在混合我的单元格符号。使用 FormulaR1C1 = 但将单元格值指定为 A7 我更改为 Formula = 并且它现在可以工作了。
-
启发我们。请自行回答您的发现,它可能对未来的读者有所帮助
标签: excel vba excel-formula formatting