Как использовать переменные при вставке формулы Excel с помощью VBA? - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь получить формулу Excel If для применения ко всем строкам с содержимым на листе. Если значение ячейки, введенное после применения макроса, равно y, то что-то появляется в следующем столбце, если это n, появляется что-то еще. Это выглядит так:

For Row = 2 To LastRow
        Cells(Row, 8).Formula = "=IF(""H"" & Row & ""="" ""Y"",""Included"",IF(""H"" & Row & ""="" ""N"",""SYS"", """"))"
    Next

Я считаю, что проблема в том, где и сколько я помещаю кавычки, но я не могу понять это всю жизнь. Я смог заставить формулу работать, когда я выбрал определенную ячейку c, ie. H2, но проблема началась, когда я попытался использовать переменную.

Любая помощь, советы или ссылки были бы признательны!

1 Ответ

1 голос
/ 04 августа 2020

Мне легче заменить токены, чем использовать конкатенацию, так как таким образом проще управлять кавычками.

Const FRM As String  = "=IF(H<r>=""Y"",""Included"",IF(H<r>=""N"",""SYS"", """"))"
For Row = 2 To LastRow
    Cells(Row, 8).Formula = Replace(FRM, "<r>", Row
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...