Можете ли вы иметь переменную, которая является одновременно рабочей книгой и строкой? - PullRequest
0 голосов
/ 23 марта 2019

Я не могу использовать функцию VLOOKUP для поиска в wookbook, который является переменной.Тот, который меняет имя по дате.

Так что я новичок в VBA и программировании в целом.Наличие рабочей книги, которая является переменной, в соответствии с датой.Создание VLOOKUP против этого кажется проблемой.Читая онлайн, кажется, что это можно сделать в виде строки, но это уже рабочая книга.

Имейте в виду, что я установил wkbk в качестве переменной (я урезал ее для этого сайта,переменная ищет предыдущие даты, считая в обратном порядке от текущей даты в книге с именем dd.mm.yyyy.xlsx, и эта часть работает нормально).

Dim wkbk As Workbook

ActiveCell.FormulaR1C1 = _
     "=IF(ISBLANK(RC[-9]),"" "",VLOOKUP(RC[-9],'" & wkbk & "easy_form_response_list'!C1:C12,10))"

Я ожидал, что будет найдена книга и лист -что я получаю, это ошибка времени выполнения «438».Объект не поддерживает это свойство или метод.Есть идеи?

1 Ответ

1 голос
/ 23 марта 2019

Вам нужна строка, которая является полностью сформированным и правильно пунктурованным адресом для внешней книги

Dim wkbk As Workbook, addr as string

SET wkbk = WORKBOOKS("THE_SOURCE_WORKBOOK.XLSX")

addr = wkbk.worksheets("easy_form_response_list").Range("A:L").Address(ReferenceStyle:=xlR1C1, External:=true)
ActiveCell.FormulaR1C1 = _
   "=IF(ISBLANK(RC[-9]), text(,), VLOOKUP(RC[-9], " & addr & ", 10))"

Вы уверены, что вам это не нужно?

ActiveCell.FormulaR1C1 = _
   "=IF(ISBLANK(RC[-9]), text(,), VLOOKUP(RC[-9], " & addr & ", 10, FALSE))"

Если вы опустите необязательный четвертый аргумент, ваши данные должны быть отсортированы по возрастанию.

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