Добавление формулы в ячейку из макроса Excel - PullRequest
0 голосов
/ 17 января 2020

У меня есть кнопка макроса на листе 2, и я хочу, чтобы она поместила формулу в столбец листа 1. Например, я могу сделать простую формулу суммы, например:

Sheets("worksheet1").Range("I:I") = "=SUM(M:M)"

Это работает, но когда Я пытаюсь сделать это с помощью более сложной формулы. Я хочу, чтобы она не работала. Почему это?

Sheets("worksheet1").Range("I:I") = "=IF(ISNUMBER(SEARCH("*567*",B:B)),"INSTOCK","")"

1 Ответ

1 голос
/ 17 января 2020

Если вы пишете двойную кавычку, как вы, VBA думает, что вы закончили свою строку после того, как написали "=IF(ISNUMBER(SEARCH(". Фактически, этот код выдаст ошибку. Вам нужно будет удвоить ваши цитаты. Отличный способ понять, что вы пишете, - это сначала использовать Debug.Print:

Debug.Print "=IF(ISNUMBER(SEARCH(""*567*"",B:B)),""INSTOCK"","""")"

Так что это будет работать:

Sheets("worksheet1").Range("I:I") = "=IF(ISNUMBER(SEARCH(""*567*"",B:B)),""INSTOCK"","""")"

Примечание: , поскольку Вы используете ссылки на целые столбцы, это будет тяжело для ваших расчетов!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...