#excel #vba #wildcard
#excel #vba #подстановочный знак
Вопрос:
Я знаю, что это может быть глупой ошибкой, но я перепробовал много способов сделать это, и ни один из них не сработал.
У меня есть этот код для получения данных из других листов Excel в папке и вставки их в основную папку. Проблема возникает, когда я пытаюсь использовать подстановочные знаки для поиска файлов, где часть имени является переменной. В приведенном ниже примере имя файла Stock_RTC_17.02.2019.xlsx
.
Однако Excel возвращает ошибку о том, что файл не найден в папке для приведенного ниже кода, хотя вы можете видеть, что он нашел правильное имя файла. Кто-нибудь понял, что я делаю не так?
Sub copytest() 'Procedure for retrieving data from the sourcefiles
Dim wbTarget, wbSource As Workbook
Dim target As Object
Dim pathSource As String
Dim xlApp As Application
'path where the data source folders are located (please keep all of them in the same directory)
pathSource = "C:UsersvferrazDesktopcrm stockRAPOARTE IMPORTANTE18.02Rapoarte pentru Handsets"
Set wbTarget = ThisWorkbook
Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Application.CutCopyMode = False
'Stock RTC
Dim FileName As String
FileName = Dir(pathSource amp; "Stock_RTC_*.xlsx", vbNormal)
Set wbSource = xlApp.Workbooks.Open(FileName)
wbSource.Sheets(1).UsedRange.Copy
wbSource.Close
Set target = wbTarget.Sheets("Stock Aberon GW TKR")
target.UsedRange.Clear
Range("A1").Select
target.Paste
End Sub
Ответ №1:
Я думаю, что PathSource не является текущим рабочим каталогом, поэтому вам следует написать:
Set wbSource = xlApp.Workbooks.Open(pathSource amp; FileName)
Ответ №2:
При попытке открыть книгу путь отсутствует.
Set wbSource = xlApp.Workbooks.Open(pathSource amp; FileName)