VBA: использовать первую формулу в выражении IF-OR - PullRequest
0 голосов

У меня есть эта формула в VBA:

ActiveCell.FormulaR1C1 = "=IF(OR(A2=""ETG_C"",A2=""ETGC""),C2,""na"")"

когда я смотрю на activecell, на самом деле возвращается эта формула:

=IF(OR('A2'="ETG_C",'A2'="ETGC"),$B:$B,"na")

как заставить его придерживаться первой формулы?

Ответы [ 2 ]

3 голосов
/ 18 мая 2010

ActiveCell.FormulaR1C1 использует другие типы адресов ячеек, где вы называете их строку 1 столбец 1. Используйте ActiveCell.Formula!

1 голос
/ 18 мая 2010

причина, по которой он показывает $ B: $ B, заключается в том, что ваша формула VBA содержит C2. VBA Excel интерпретирует это как 2-й столбец на рабочем листе, потому что вы используете метод FormulaR1C1.

Поместите C2 в двойные кавычки.

ActiveCell.FormulaR1C1 = "=IF(OR(A2=""ETG_C"",A2=""ETGC""),""C2"",""na"")"
...