Excel VBA Макросы: Как вставить формулу в ячейку в адресе которой один из индексов - переменная

Автор gtz, 11 января 2018, 10:46

gtz

Пытаюсь добавить формулу, которая будет иметь ссылку на ячейку с одним из индексов в виде переменной.

' Копирование данных из листа-источника на лист-результат.
sh_res.Range(lr, "А").FormulaLocal = "=Если(B3="береза";окей;)"

Переменная
lr = sh_res.Cells(sh_res.Rows.Count, "B").End(xlUp).row + 1

Соответственно ячейка B3 должна быть вида (lr, "B").
sh_res - книга в которую переносятся данные, или активная книга.

Администратор

Если в коде макроса нужно указать кавычку, то нужно вместо одной кавычки напечатать две:
sh_res.Range(lr, "B").FormulaLocal = "=Если(B" & lr & "=""береза"";""окей"";)"


Администратор

Вместо Range надо использовать Cells. В Range всегда на первом месте буква столбца и между столбцом и строкой нет запятой. Если нужно, чтобы буква столбца была второй, нужно использовать Cells:
sh_res.Cells(lr, "A").FormulaLocal = "=Если(B" & lr & "=""береза"";""окей"";)"