У меня проблема с моим кодом VBA в таблице Excel, содержащей заказы.Каждая строка содержит номер клиента, который я использую для поиска адреса электронной почты клиента, который содержится на отдельном листе в рабочей книге.
Код vlookup отлично работает для отдельной ячейки, но проблема заключается в том, что когда я пытаюсьцикл по всем строкам электронной таблицы.Формула Excel для отдельной ячейки, например,
=VLOOKUP(B2,Customers!A2:D1000,4,FALSE)
Код VBA, сгенерированный для этого:
Range("M2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-11],Customers!RC[-12]:R[999]C[-9],4,FALSE)"
Включение этого в цикл после выбора начальной ячейки, Iиметь следующее:
Cells(2, 13).Select
Do
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-11],Customers!RC[-12]:R[999]C[-9],4,FALSE)"
ActiveCell.Offset(1, 0).Select
Loop Until IsEmpty(ActiveCell.Offset(0, -10))
Проблема в том, что я хочу, чтобы "массив таблиц" был фиксирован , а не относительно ячейки, значение которой ищется.Но я абсолютно не могу понять, как это сделать.Если я изменяю код следующим образом, я получаю ошибку во время выполнения:
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-11],Customers!A2:D1000,4,FALSE)"
Я пробовал цитировать, снимать кавычки, устанавливать переменную диапазона, используя переменную диапазона с .address ... может кто-то пожалуйста помогите?
Большое вам спасибо.