6

I’m not an Excel or VBA expert but I want to insert this current excel formula into cell’s using VBA.

Current Excel formula:

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

VBA formula :

 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];''))"

It doesn’t work… Someone can help me please?

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 に答える