VBA Excel公式引号

时间:2017-08-29 15:15:31

标签: excel vba excel-vba

嗨我在使用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;:应用程序定义或对象定义的错误。 提前谢谢

1 个答案:

答案 0 :(得分:0)

总结所有已经说过的内容并提供可行的解决方案:

ActiveWorkbook.Sheets(1).range("I3").Formula = "=IF(H3<TODAY()," & """closed""" & ",IF(G3>TODAY()," & """open""" & "," & """in stock""" & "))"

的变化:

  1. ;,交换(由@ScottCraner注明),因为VBA公式必须以美式英语格式输入。
  2. 删除Chr(34),而在字符串中使用两个",以便在VBA编写公式时有效地插入一个"。由于字符串本身以"开头,因此每次连续三次"
  3. 更新

    (如评论中所建议的)

    ActiveWorkbook.Sheets(1).range("I3").Formula = "=IF(H3<TODAY(),""closed"",IF(G3>TODAY(),""open"",""in stock""))"