2014-12-05 1 views
0

Я пытался использовать vlookup в VBA, и это довольно раздражает.VBA Использование Vlookup для присвоения значения ActiveCell, в другой справочной книге

ActiveCell.Value = Application.WorksheetFunction.VLookup(Cells(currentrow, 12), currwor.Worksheets("Sheet1").Range("R4C3:R160C10"), 6, False) 

является код

Основные элементы, которые я использовал являются currwor, который был установлен ссылаться на другие книги, и я ищу, чтобы использовать ВПР на полигоне там.

Однако он продолжает поднимать ошибку, указав, что индекс не соответствует диапазону.

Я подозреваю, currwor является виновным в этом Set currwor = ActiveWorkbook (тогда рабочей книга, в которой выше выполняются открыто, и присваивается имя рабочей книги, а также.) я не могу использовать определенный диапазон, потому что я Я пытаюсь выполнить vlookup в каждой ячейке диапазона, и этот диапазон изменяется каждый раз, и currwor должен выполняться на конкретном документе, который я получаю, но имя может меняться (формат, однако, остается тем же.)

Любые предложения по этому поводу?

Редактировать: Одна ошибка заключается в том, что она не должна быть sheet1, а «Stock Report by Product». Однако это все еще вызывает ошибку индекса.

ответ

0

с помощью Set currwor = ActiveWorkbook Вы назначаете действующую рабочую книгу в currwor, но вы упомянули ранее, что она должна быть другой книгой? значит, у вас должна быть линия Set currworb = Workbooks("desired workbook name")?

+0

Итак, у меня есть две книги: одна из них должна быть обновлена, которую я установил как Установить currwor = ActiveWorkbook Workbooks.Open ("C: \ Users \ Nilay \ Lync Recordings \ Quality Control Database.xlsm ") Установить QCs = ActiveWorkbook Надеюсь, что это немного разъяснит. – DanyLark

+0

, но у вас есть это в обратном порядке в этом коде: после того, как вы открыли ** QCs **, он станет активным, и какой бы лист/ячейка не был активен в этой книге, будет заполнена вашей формулой, которая возвращает 'VLOOKUP' обратно ** currwor **. – Raugmor

+0

Не уверен, что вы имеете в виду. Да, я пытаюсь vlookup вернуться к currwor, потому что я пытаюсь извлечь обновленные цифры оттуда в QC. Однако это, по-видимому, вне пределов досягаемости. – DanyLark

0

Да - Идиотическая ошибка. Как указано, имя листа было неправильным, и проблема заключалась в том, что при выполнении я пропустил бит, где рабочий лист был назначен для currwor.

Идиотично, что я должен рассмотреть возможность удаления этого сообщения здесь.

Смежные вопросы