【问题标题】:Grabbing data from other workbooks using wildcards ERROR使用通配符从其他工作簿中获取数据 ERROR
【发布时间】:2019-03-13 10:28:10
【问题描述】:

我知道这可能是一个愚蠢的错误,但我尝试了很多方法,但都没有奏效。

我有这段代码用于从文件夹中的其他 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:\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

【问题讨论】:

    标签: excel vba wildcard


    【解决方案1】:

    我认为 pathSource 不是当前工作目录,所以你应该写:

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

    【讨论】:

      【解决方案2】:

      您在尝试打开工作簿时丢失了路径。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-16
        • 1970-01-01
        • 2018-03-14
        • 1970-01-01
        • 2013-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多