VBA设置含等号的Excel法语公式报错1004,求解决方法
解决方案:改用FormulaLocal属性赋值
直接通过Value属性设置带等号的法语公式时,VBA无法正确识别本地语言的函数名和参数分隔符,这时候应该用FormulaLocal属性替代,它专门适配Excel本地语言版本的公式规则。
修改后的代码:
Cells(c.Row, 3).FormulaLocal = "=NB.SI($KM$1:KM9;KM9)"
补充说明
- VBA默认的
Formula属性要求使用英文函数名(比如COUNTIF)和逗号作为参数分隔符,不受Excel界面语言影响。 FormulaLocal完全遵循本地语言逻辑,支持法语函数名(NB.SI)和分号参数分隔符,和手动在单元格输入公式的规则完全一致。- 如果仍报错,先检查目标单元格是否被保护,或是文本格式——若为文本格式,需先设置为常规格式再赋值:
Cells(c.Row, 3).NumberFormat = "General" Cells(c.Row, 3).FormulaLocal = "=NB.SI($KM$1:KM9;KM9)"
内容的提问来源于stack exchange,提问作者Pierre44
相关产品推荐
相关产品推荐

