使用通配符从其他工作簿中获取数据错误

时间:2019-03-13 10:28:10

标签: excel vba wildcard

我知道这可能是一个愚蠢的错误,但是我尝试了许多方法来做到这一点,但没有一个起作用。

我有此代码,可以从文件夹中的其他excel表格中获取数据并将其粘贴到主文件夹中。当我尝试使用通配符查找名称部分为可变的文件时,会弹出此问题。在下面的示例中,文件名为Stock_RTC_17.02.2019.xlsx

但是,尽管您可以看到找到了正确的文件名,但是excel会返回错误,指出在以下代码的文件夹中找不到该文件。有人知道我在做什么错吗?

enter image description here

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:\Users\vferraz\Desktop\crm stock\RAPOARTE IMPORTANTE\18.02\Rapoarte 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 & "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

2 个答案:

答案 0 :(得分:1)

当您尝试打开工作簿时,您会丢失路径。

Set wbSource = xlApp.Workbooks.Open(pathSource & FileName)

答案 1 :(得分:1)

我认为pathSource不是当前的工作目录,因此您应该写:

Set wbSource = xlApp.Workbooks.Open(pathSource & FileName)