Ошибка захвата данных из других книг с использованием подстановочных знаков

#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)