6

我不是 Excel 或 VBA 专家,但我想使用 VBA 将这个当前的 excel 公式插入到单元格中。

当前 Excel 公式:

=IF(OR(ISNUM(D570)=FALSE;ISNUM(D573)=FALSE);"";IF(C573="Total";D573-D570;""))

VBA公式:

 ActiveSheet.Range("a" & ActiveSheet.Rows.Count).End(xlUp).Offset(2, 12).Value = "=IF(OR(ISNUM(R[-3]C[-9])=FALSE;ISNUM(R[0]C[-9])=FALSE);'';IF(R[0]C[-10]='Total';R[0]C[-9]-R[-3]C[-9];''))"

它不起作用......有人可以帮助我吗?

4

2 回答 2

8

尝试在您的 VBA 代码中使用.formula =而不是。.value =

设置.value单元格的 只需复制您指定的任何值。在这种情况下,您的公式只是简单地转换为字符串值。

使用该.formula属性,您实际上是在指定用于计算值的公式,这就是您要查找的值。

于 2010-01-08T14:40:08.933 回答
5

我可以首先建议简化您的公式,来自:

=IF(OR(ISNUM(D570)=FALSE;ISNUM(D573)=FALSE);"";IF(C573="Total";D573-D570;""))

...至...

=IF(AND(C573="Total"; ISNUM(D570); ISNUM(D573)); D573-D570; "")

然后,我将使用 VBA 代码设置一个单元格(下例中的活动单元格)以使用该公式:

ActiveCell.Formula = "=IF(...)"
于 2010-01-08T14:45:46.870 回答