【发布时间】:2020-02-12 13:25:36
【问题描述】:
我之前已经问过这样的问题,但我对 VBA 公式真的很不好。
这是我的公式:
Worksheets("Sheet1").Range(CellRange).formula = "=IF(Sheet2!E$4=X;CONCATENATE(Sheet3! """ & myString """, Not defined)"
运行时错误 1004:由应用程序或对象定义的错误
myString 是一个 STRING,包含一个单元格的地址。
我之前的问题A question with a really good answer中的解释我已经习惯了
但这一次没有成功。有什么建议吗?
谢谢!
【问题讨论】:
-
将
;更改为,。然后检查你的括号....总是有助于Debug.Print在尝试将公式写入单元格之前,您期望公式是什么。 -
我应该如何检查带有
Debug.Print的公式?在调试之前我应该把它放在一个字符串中吗? -
Debug.Print "=IF(Sheet2!E$4=X;CONCATENATE(Sheet3! """ & myString """, Not defined)"然后检查即时窗口。右边是一个字符串。 -
也许
"类似于"=IF(Sheet2!E$4=X;CONCATENATE(Sheet3!" & myString & ", ""Not defined"")",您的if也没有虚假部分。 -
多亏了
Debug.Print,我明白了我存在的意义以及如何正确编写公式。 @BigBen 你的大师!