VBA设置CONCATENATE公式时出现编译错误:Expected: End of Statement
VBA写入CONCATENATE公式时编译错误的解决方法
问题根源在于VBA的字符串转义规则:在VBA的字符串常量中,若要表示一个实际的双引号,必须使用两个连续的双引号来转义。你的代码里TEXT(E7,"#,##0.00")部分的",##0.00"直接用了单个双引号,VBA会把第一个双引号判定为字符串的结束标记,后续内容就会被识别为无效语句,从而触发编译错误。
解决方法
将公式中所有需要保留的双引号替换为两个连续双引号,修正后的代码如下:
Range("E8").Value = "=CONCATENATE(E6,"" "", TEXT(E7,""#,##0.00""))"
你也可以用Excel的&连接符替代CONCATENATE函数,代码会更简洁,同样需要注意转义双引号:
Range("E8").Value = "=E6&"" ""&TEXT(E7,""#,##0.00"")"
内容的提问来源于stack exchange,提问作者Pauldevans84
相关产品推荐
相关产品推荐

