【发布时间】:2017-08-30 19:28:56
【问题描述】:
您好,我在使用 VBA 时遇到了一些问题。 我试图在这样的单元格中写一个公式
ActiveWorkbook.Sheets(1).range("I3").Formula = "=IF(H3<TODAY();" & Chr(34) & "closed" & Chr(34) & ";IF(G3>TODAY();" & Chr(34) & "open" & Chr(34) & ";" & Chr(34) & "in stock" & Chr(34) & "))"
我认为问题在于引号。它给了我错误消息运行时错误'1004':应用程序定义的或对象定义的错误。 提前谢谢你
【问题讨论】:
-
将
;替换为,vba 是美式英语格式。 -
删除 Chr(34) 并将
;更改为,。 -
更改为
,而不是;作为列表分隔符或使用.FormulaLocal。 VBA 非常以 EN-US 为中心。 -
转义双引号,像这样
debug.print "=IF(H3<TODAY();""closed"";IF(G3>TODAY();""open"";""in stock""))"....打印这个...=IF(H3<TODAY();"closed";IF(G3>TODAY();"open";"in stock")) -
谢谢大家的帮助!