求助:VBA设置单元格IF公式时持续报错,求原因及解决
VBA公式赋值报错的排查与解决
核心错误原因:字符串内双引号未转义
在VBA中,若要在字符串里表示单个双引号,必须用两个连续双引号("")转义,否则VBA会将单个双引号识别为字符串的结束标记,直接引发语法错误。你原代码中直接用单个双引号包裹False和True,这是报错的根本原因。额外注意:公式分隔符与属性选择
Excel的Formula属性默认使用英文逗号(,)作为参数分隔符,而FormulaLocal属性会适配你系统区域设置的分隔符(比如部分地区用分号;),可根据需求选择对应属性。
正确代码示例
情况1:使用Formula属性(逗号分隔参数)
Worksheets("ME2N").Range("AB6:AB31000").Formula = "=IF(AA6<T6,""False"",""True"")"
情况2:使用FormulaLocal属性(分号分隔参数,适配区域设置)
Worksheets("ME2N").Range("AB6:AB31000").FormulaLocal = "=IF(AA6<T6;""False"";""True"")"
内容的提问来源于stack exchange,提问作者Hella Morte
相关产品推荐
相关产品推荐

