Добавьте формулу ячейки в Excel через vba

Я не Excel или эксперт VBA, но я хочу вставить эту текущую формулу Excel в использование ячейки VBA.

Текущая Формула 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];''))"

Это не работает …, Кто-то может помочь мне?

6
задан 0m3r 12 January 2016 в 08:22
поделиться

2 ответа

Probeer .formula = in plaats van .value = in je VBA-code.

Door de .waarde van een cel in te stellen, kopieert u eenvoudig de waarde die u opgeeft. In dit geval wordt uw formule eenvoudig geconverteerd naar een tekenreekswaarde.

Door de eigenschap .formula te gebruiken, specificeert u feitelijk de formule waarmee de waarde berekent , waarnaar u op zoek bent.

8
ответ дан 8 December 2019 в 18:37
поделиться

Могу я сначала предложить упрощение вашей формулы, от:

=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(...)"
5
ответ дан 8 December 2019 в 18:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: