Я пытаюсь вставить формулу VLOOKUP в свой последний столбец после выполнения форматирования на листе. Мое значение поиска для столбца, который имеет следующий заголовок столбца: «Состояние компании». Это мой текущий поток:
Найдите номер столбца с помощью заголовка столбца: «Состояние компании»:
CompanyStateColumnNumber = WorksheetFunction.Match("Company State", ws.Range("1:1"), 0)
Объявить диапазон для поиска. В этом случае он существует в рабочей таблице / рабочей книге, которая не является активной рабочей книгой / рабочей таблицей. Следовательно, я ссылаюсь на него, используя (я уже объявил TZsrcRange как тип Range):
Set TZsrchRange = TemplateWS.Range("A:C")
Теперь я пытаюсь встроить vlookup в мой последний столбец (я нашел свой последний столбец на листе и он хранится в переменной "NewestLCol". Я хочу встраивать его в столбец до самого последняя строка (хранится в переменной "LastRow"):
For x = 2 To LastRow Set dynamic_lookup_value = Cells(x, CompanyStateColumnNumber) Cells(x, NewestLCol).Formula = " =VLOOKUP(" & _ dynamic_lookup_value.Address(0, 0) & _ ", Templatews.Range(A:C).Address(0,0),3, FALSE)" Next x
Теперь, когда я запускаю его, он не встраивает формулу и не дает мне значения. В чем может быть моя проблема?
Попробуйте заменить свое формульное назначение на это
Cells(x, NewestLCol).Formula = "=VLOOKUP(" & _ dynamic_lookup_value.Address(0, 0) & _ "," & _ TZsrchRange.Address(External:=True) & _ ",3, FALSE)"