嗨我在使用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) & "))"
我认为问题在于引号。它给我错误消息运行时错误&#39; 1004&#39;:应用程序定义或对象定义的错误。 提前谢谢
答案 0 :(得分:0)
总结所有已经说过的内容并提供可行的解决方案:
ActiveWorkbook.Sheets(1).range("I3").Formula = "=IF(H3<TODAY()," & """closed""" & ",IF(G3>TODAY()," & """open""" & "," & """in stock""" & "))"
的变化:
;
与,
交换(由@ScottCraner注明),因为VBA公式必须以美式英语格式输入。Chr(34)
,而在字符串中使用两个"
,以便在VBA编写公式时有效地插入一个"
。由于字符串本身以"
开头,因此每次连续三次"
。(如评论中所建议的)
ActiveWorkbook.Sheets(1).range("I3").Formula = "=IF(H3<TODAY(),""closed"",IF(G3>TODAY(),""open"",""in stock""))"