excel - 有没有办法在 Excel 中的 VBA 格式条件内编写与本地语言无关的公式?
问题描述
我正在用 VBA 编写一个包含一个简单公式的 excel 宏:
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=NOT(AND($L1>360;$K1<45))"
但是,这只有在 excel 中的语言设置为英语时才有效。如果申请人的语言是德语,它看起来像这样:
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=NICHT(UND($L1>360;$K1<45))"
有没有办法使用适用于所有申请人的通用方法?
关于解决方案的一些要求:
- 它不应该是具体的(没有从英语到德语的翻译)
- 带有语言 ID 的 select case 语句也不适用
- 函数翻译器有一个选项:由于管理员限制,这不能应用(我很好奇,如果有另一种方法:))
- 更改公式以在单元格中使用它也不适用,因为我需要那里的格式条件
任何帮助表示赞赏
解决方案
实际上这是不可能的,但有一个解决方法。
首先注意英文版本使用,
而不是;
作为分隔符,所以你的英文公式需要是=NOT(AND($L1>360,$K1<45))
.
解决方法是将该公式写入任何未使用的单元格。
Range("unused_cell").Formula = "=NOT(AND($L1>360,$K1<45))"
然后阅读那个的本地化
Dim FormulaLocal As String
FormulaLocal = Range("unused_cell").FormulaLocal
并将其用作条件
Selection.FormatConditions.Add Type:=xlExpression, Formula1:=FormulaLocal
这会将条件转换为 Excel 的正确本地化。
推荐阅读
- javascript - 从页面顶部有效检测元素当前位置
- javascript - 图片未上传(HTML、Java Script)
- python-3.x - AWS Lambda 函数超时,仅使用分配的 3008 MB 中的 130 个。为什么它使用这么少的 RAM?
- c# - 多子项目 .netcore 3.1 项目中的脚手架-dbcontext 失败
- python - 如果超类访问子类属性,Pylint 会抱怨
- windows - 在 Windows 命令终端中调出命令
- ansible - psutil 无法在 python3 virtualenv 中安装 pip:致命错误:Python.h:没有这样的文件或目录
- c - 使用 popen 与 telnet 交谈不会失败,但不会像预期的那样运行
- spring-boot - BeanCreationException:创建名为“springSecurityFilterChain”的 bean 时出错
- apache-spark - 是否有任何可以调整的 spark 配置参数以减少驱动程序节点的内存消耗?