Добрый день. Есть задача. выполнить =ВПР(RC[-18];'product_export_0-10000_2024-10-25-0649.csv'!C3:C5;3;0) .нужно что бы ссылка на диапазон значений была задана по маске файла: product_export который находится в каталоге c:\Users\Администратор\Downloads\ по дате . Результат нужно записать в столбец 20.
Сделать нужно с помощью макроса.
Пробовал делать вот таким макросом . но оне выдает н/д. просьба помочь.
Сделать нужно с помощью макроса.
Пробовал делать вот таким макросом . но оне выдает н/д. просьба помочь.
Код |
---|
Sub VlookupWithDynamicFile() Dim FolderPath As String Dim FileName As String Dim FilePath As String Dim ws As Worksheet Dim searchValue As Variant Dim result As Variant ' Задаем путь к папке FolderPath = "C:\Users\Администратор\Downloads\" FileName = Dir(FolderPath & "product_export*.csv") ' Проверяем, нашли ли мы файл If FileName = "" Then MsgBox "Файл не найден!" Exit Sub End If ' Полный путь к найденному файлу FilePath = FolderPath & FileName ' Определяем активный лист Set ws = ActiveSheet ' Выполняем поиск в столбце и записываем результат в 20 столбец For i = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row searchValue = ws.Cells(i, 1).Value result = Application.VLookup(searchValue, Workbooks.Open(FilePath).Sheets(1).Range("C3:C5"), 3, False) ws.Cells(i, 20).Value = result Next i ' Закрываем файл после использования Workbooks(FileName).Close False MsgBox "Завершено!" End Sub |