设置单元格公式,包括"文本常量"在Excel单元格中由VBA提供

时间:2014-05-20 12:55:47

标签: excel vba excel-vba

在实际的单元格公式中,我可以手动设置以下公式。 = IF(月(A15)< 7,'FY“& YEAR(A15)-1&”/“& RIGHT(年(A15),2),”FY“& YEAR(A15)&” /“&安培; RIGHT(YEAR(A15)+1,2))

我正在尝试使用以下代码通过vba设置此公式。 ActiveCell.formulaR1C1 =“= IF(MONTH(A15)< 7,”FY“& YEAR(A15)-1&”/“& RIGHT(YEAR(A15),2),”FY“& YEAR( A15)及 “/” &安培; RIGHT(YEAR(A15)+1,2))“

VBA编译器显示编译错误:预期:语句结束。这似乎与感叹号有问题。

现在有人如何在由vba代码设置的单元格公式中包含文本常量吗?

2 个答案:

答案 0 :(得分:0)

你需要在字符串中使用双引号,如下所示:

ActiveCell.formulaR1C1 = "=IF(MONTH(A15)<7,""FY ""&YEAR(A15)-1&""/""&RIGHT(YEAR(A15),2),""FY ""&YEAR(A15)&""/""&RIGHT(YEAR(A15)+1,2))"

答案 1 :(得分:0)

如果您传递R1C1格式的引用,但只使用A1格式,则只能使用FormulaR1C1。如果您愿意,也可以缩短该公式:

ActiveCell.Formula = "=""FY ""&YEAR(A15)-(MONTH(A15)<7)&""/""&RIGHT(YEAR(A15)+(MONTH(A15)>=7),2)"