Добрый день. Есть задача. выполнить =ВПР(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
|