VBA Vlookup на переменные рабочие книги не работает

Мне потребуется некоторая помощь в поиске и исправлении приведенного ниже кода. Сначала объясните, что он делает:

  • Подсказывает пользователю выбор файла (vFileName1)
  • Добавьте в открытый файл некоторые требуемые столбцы и данные
  • Запрашивает пользователя выбрать второй файл (vFileName2)
  • Добавьте некоторые помогающие столбцы (можно упростить) и попытались получить данные vlookup на основе значений из второго файла в 1-й и вытащить данные из 3 столбцов.

Часть, где у меня проблемы, является последней, поскольку я не могу заставить работать vlookup. Я не знаю, как ссылаться на 1-ю открытую книгу в формуле, поскольку я не могу сделать это по ее имени (так как она будет изменяться и меняться каждый месяц)

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

Код ниже:

Sub Activate_sheet() Application.ScreenUpdating = False Call ReconFile Application.ScreenUpdating = True End Sub Sub ReconFile() ' Activate_sheet Macro ' Select the source workbook and activates the proper sheet and prepares columns Dim vFileName1 As Variant ' Prompt user to select a file vFileName1 = Application.GetOpenFilename("Excel Files (*.xl*), *.xl*, All Files (*.*),*.*", , "Select the Recon file to be used") If vFileName1 = "False" Then MsgBox "No file selected", vbExclamation, "Cancelled" Exit Sub 'user canceled End If With Workbooks.Open(Filename:=vFileName1, UpdateLinks:=0) Worksheets("Data").Select Columns("A:B").Insert Shift:=xlToRight Columns("T:T").Copy Range("A1").PasteSpecial Paste:=xlPasteValues Columns("A:A").TextToColumns Destination:=Range("A1") Lngth = Range("$A$" & Rows.Count).End(xlUp).Row Final = "$B$3:$B" & Lngth Range(Final).FormulaR1C1 = "=RC[-1]&RC[14]" Call WorkbenchFiles .Close False End With End Sub Sub WorkbenchFiles() Dim CF As Long Dim vFileName2 As Variant CF = MsgBox("Would you like to select a new Workbench file?", vbYesNo) If CF = vbYes Then vFileName2 = Application.GetOpenFilename("Excel Files (*.xl*), *.xl*, All Files (*.*),*.*", , "Select the Workbench File to update") If vFileName2 = "False" Then MsgBox "No file selected", vbExclamation, "Cancelled" Exit Sub 'user canceled End If Workbooks.Open (vFileName2) Worksheets("Sheet1").Select Lngth = Range("$A$" & Rows.Count).End(xlUp).Row Final = "$K$2:$K" & Lngth Range(Final).FormulaR1C1 = "=MID(RC[-10],8,8)" Final = "$L$2:$L" & Lngth Range(Final).FormulaR1C1 = "=RC[-1]&RC[-7]" Final = "$M$2:$M" & Lngth Range(Final).FormulaR1C1 = "=VLOOKUP(RC[-1], '[" & vFileName1 & "]Data'!$B:$H,3,0)" Final = "$N$2:$N" & Lngth Range(Final).FormulaR1C1 = "=VLOOKUP(RC[-2],'[" & vFileName1 & "]Data'!$B:$H,4,0)" Final = "$O$2:$O" & Lngth Range(Final).FormulaR1C1 = "=VLOOKUP(RC[-3],'[" & vFileName1 & "]Data'!$B:$H,7,0)" Else: Exit Sub End If End Sub 

Interesting Posts

Как сделать отдельные строки в электронной таблице Excel доступными только для чтения через VBA Macro?

Проблема в шаблоне регулярных выражений

Соединение между версией Excel и Access db 2007 с использованием C #

Копирование и вставка ошибок при перемещении данных из SSMS в Excel

Проблема при преобразовании файла в UNIX

Excel подсчитывается, если значение следующей ячейки различно

Копировать имя ячейки в качестве новой рабочей книги

Цитирование через длинный список в VBA и извлечение данных по пути вниз

Классифицировать имена файлов (экспортированные в Excel) на основе имен / типов

Условное форматирование с использованием сравнения дат в Google Таблицах

Определите слайсеры с сводной таблицей, которые принадлежат определенному рабочему листу

Откройте файл Excel (XLS) из URL с параметрами GET

Как увеличить поле идентификатора, сохраненное в строке в excel, используя JAVA

Как: Excel защищает сводную таблицу, но все еще имеет расширяемую функциональность

Как запросить столбцы SQL с круглыми скобками () в их имени?

Давайте будем гением компьютера.