VBA - Попытка ввести формулу в ячейку, которая ссылается на имя листа из строки - PullRequest
0 голосов
/ 27 апреля 2018

Я не сомневаюсь, что на этот вопрос уже отвечали, но я не могу найти ответ где-либо.

Мой VBA просто вводит формулу в ячейку. Эта формула ссылается на другой лист. Мне бы хотелось, чтобы имя листа было заменено строковой переменной, чтобы формула могла ссылаться на лист по моему выбору, к сожалению, я не могу получить правильный синтаксис:
Это '13) Friends Mailer' Мне нужно заменить на строку (которая будет ссылаться на лист)

ActiveCell.FormulaR1C1 = _
    "=VLOOKUP(RC[-2],'13) Friends Mailer'!R6C1:R90C15,14,0)+VLOOKUP(RC[-2],'13) Friends Mailer'!R6C1:R90C15,15,0)"

Я пробовал это, но без игры в кости:

ActiveCell.FormulaR1C1 = _
    "=VLOOKUP(RC[-2],'" &worksheetName& "'!R[4]C[-9]:R[88]C[5],14,0)+VLOOKUP(RC[-2],'13) Friends Mailer'!R[4]C[-9]:R[88]C[5],15,0)"

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018
txt = "13) Friends Mailer"
ActiveCell.FormulaR1C1 = _
    "=VLOOKUP(RC[-2],'" & txt & "'!R6C1:R90C15,14,0)+VLOOKUP(RC[-2],'" & txt & "'!R6C1:R90C15,15,0)"
0 голосов
/ 27 апреля 2018

Заменить:

"=VLOOKUP(RC[-2],'" &worksheetName&

с:

"=VLOOKUP(RC[-2],'" & worksheetName &

(возможны другие проблемы)

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