首页 > 解决方案 > 从 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())"

标签: excelvba

解决方案


推荐阅读