excel - 从 VBA 将公式插入 Excel 时小数更改为逗号
问题描述
我想将一个 if 公式放入一个单元格中。
当我尝试运行代码时出现错误 1004(下面的相关部分)。
n = 1.2
.Cells(2, 8).Formula = "=if(" & .Cells(2, 3).Address(False, False) & "=1," & n & ",na())"
如果我将公式放入变量中,我可以看到 VBA 将 1.2“保存”为“1,2”,这被解释为公式中的参数太多了。
所以而不是
=if(C2=1,1.2,na())
我明白了
=if(C2=1,1,2,na())
如果我手动输入
.Cells(2, 8).Formula = "=if(" & .Cells(2, 3).Address(False, False) & "=0,1.2" & ",na())"
该公式直接出现在 Excel 中,但由于我需要遍历数据,这不是一个可持续的解决方案。
由于我在欧洲,我怀疑区域设置是问题的一部分,但由于这些是公司范围内的,我无法在不引起不同问题的情况下解决这个问题。
我试过了
n = 1.2
.Cells(2, 8).Formula = "=if(" & .Cells(2, 3).Address(False, False) & "=1," & CDbl(n) & ",na())"
解决方案
推荐阅读
- php - PHP simplexml_load_string / SimpleXMLElement:只获取数组作为属性值?
- python - 如何使用正斜杠连接文件夹和文件名?
- c# - 如何编写一个程序,获取两个数字(N 和 K)并生成 5 个字母的字符串
- java - 当我问这个词出现了多少次时,为什么我一直得到 138
- javascript - 连接两个元素之间的线 - Javascript
- javascript - 使用 useEffect 更新 useReducer 的“状态”
- javascript - 在 Raspberry Pi 3 上使用 Javascript 运行命令行命令
- elasticsearch - Elasticsearch 作为缓存,重建索引还是就地更新?
- java - PyLucene 的 Make 和 Make 安装问题
- docker - 502 对于每个其他请求入口 nginx 控制器