通过宏在EXCEL VBA中运行公式

3

我之前已经问过类似的问题了,但是我对VBA公式很不熟悉。

这是我的公式:

Worksheets("Sheet1").Range(CellRange).formula = "=IF(Sheet2!E$4=X;CONCATENATE(Sheet3! """ & myString """, Not defined)"

运行时错误1004:由应用程序或对象定义的错误。
myString是一个字符串,包含单元格的地址。
我使用了之前问题中的解释 一个非常好的答案的问题,但这次没有起作用。有什么建议吗?
谢谢!

1
; 更改为 ,。然后检查您的括号... 在尝试将公式写入单元格之前,始终使用 Debug.Print 打印您期望的公式会有所帮助。 - BigBen
我应该如何使用Debug.Print检查一个公式?我应该在调试之前将其放入字符串中吗? - user9758877
1
Debug.Print "=IF(Sheet2!E$4=X;CONCATENATE(Sheet3! """ & myString """, Not defined)" 然后检查即时窗口。右侧是一个字符串。 - BigBen
3
也许这个 " 的意思是这样的 "=IF(Sheet2!E$4=X;CONCATENATE(Sheet3!" & myString & ", ""Not defined"")",你的 if 语句也没有 false 部分。 - Nathan_Sav
1
因为 Debug.Print,我终于明白了我的存在意义以及如何正确地编写公式。@BigBen,您是大师! - user9758877
1个回答

1
Worksheets("Sheet1").Range(cellrange).Formula = _
  "=IF(Sheet2!E$4=""X"",Sheet3!" & myString & ", ""Not defined"")"

@Plutian 你好。我认为这个答案是问题中代码行的纠正版本。我可以写一个详细的解释,但我的英语不好。这段文字是用谷歌翻译创建的 https://translate.google.com - Mesut Akcan
没问题,这只是一个建议。对于提问者来说比对我来说更重要。我会删除我的评论。 - Plutian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接