【发布时间】:2014-05-20 21:33:05
【问题描述】:
在实际的单元格公式中我可以手动设置以下公式。 =IF(MONTH(A15)
我正在尝试使用以下代码通过 vba 设置此公式。 ActiveCell.formulaR1C1 = "=IF(MONTH(A15)
VBA 编译器显示编译错误:预期:语句结束。这似乎是感叹号有问题。
现在有人如何在 vba 代码设置的单元格公式中包含文本常量吗?
【问题讨论】:
在实际的单元格公式中我可以手动设置以下公式。 =IF(MONTH(A15)
我正在尝试使用以下代码通过 vba 设置此公式。 ActiveCell.formulaR1C1 = "=IF(MONTH(A15)
VBA 编译器显示编译错误:预期:语句结束。这似乎是感叹号有问题。
现在有人如何在 vba 代码设置的单元格公式中包含文本常量吗?
【问题讨论】:
您需要在字符串中使用双引号,如下所示:
ActiveCell.formulaR1C1 = "=IF(MONTH(A15)<7,""FY ""&YEAR(A15)-1&""/""&RIGHT(YEAR(A15),2),""FY ""&YEAR(A15)&""/""&RIGHT(YEAR(A15)+1,2))"
【讨论】:
如果您以 R1C1 格式传递引用,则仅使用 FormulaR1C1,但您使用的是 A1 格式。如果您愿意,也可以缩短该公式:
ActiveCell.Formula = "=""FY ""&YEAR(A15)-(MONTH(A15)<7)&""/""&RIGHT(YEAR(A15)+(MONTH(A15)>=7),2)"
【讨论】: