我目前在法国,使用的计算机上的所有 Office 程序都是法语的。
我需要使用用英文 VBA 编写的宏,但是失败了。
我认为这个问题是一个语言问题,因为当我尝试在法语版本中使用英语 Excel 公式时也会出现同样的事情(例如 =sum is =somme)
有办法吗?
答案1
您有两个涉及重写 VBA 代码的选项。
第一个选项:每次访问该
Range.Formula
属性时,代替它为了Range.FormulaLocal
属性。公式的本地化版本将由 Excel 翻译为其内部使用的英语版本。这当然会使您的宏仅在法语区域/语言中起作用。第二种选择:手动将 VBA 中硬编码的每个公式翻译成英语。这将使您的宏可以在任何 Excel 区域设置/语言中工作。
答案2
我遇到了类似的问题,因为我想在德国使用一个在美国编写的 Excel 宏工具。该工具在启动后似乎陷入了循环,因此无法结束。
我最终通过将 Windows 默认的日期、时间和数字格式更改为美国标准(如所述)来解决此问题这里。因此,该工具的 VBA 代码可能适用于某些美国标准格式的数据,但无法适用于外国格式的系统。