运行时错误1004 - 无法找到工作簿(偶尔)

时间:2014-01-14 18:06:35

标签: excel vba

我对宏的经验很少,而且在我发现需要发布我的问题之前,我一直在网上搜索很长时间。我的目标是填写一份表格,其中包含从其他表格中获取的信息。 我将'合并文件'放在一个文件夹中,让人们将填好的问卷表单上传到一个单独的文件夹中。

奇怪的问题是,有时它会完美地填写合并文件,有时它根本不会做任何事情。我收到运行时错误1004,说无法找到该文件。 它实际上提到了文件的确切名称,但却无法“找到”它。

对此的任何帮助将不胜感激。

亲切的问候,

马亭

Sub LoopThroughDirectory()

    Sheets("Data").Select

    Application.ScreenUpdating = False

    Dim FileNames() As String
    Dim MyFile As String
    Dim erow

    MyFile = Dir(ActiveWorkbook.Path & "\Filled out Forms\")

    Do While Len(MyFile) > 0
        If MyFile = "Z. Master.xlsm" Then
            Sheets("Candidate selection").Select
            Exit Sub
        End If

        Workbooks.Open (MyFile)
        Worksheets("Hidden Sheet").Range("B3:I13").Copy
        ActiveWorkbook.Close

        erow = Sheet1.Cells(Rows.count, 1).End(xlUp).offset(1, 0).Row
        ActiveSheet.Paste Destination:=Worksheets("Data").Range(Cells(erow, 1), Cells(erow, 8))

        MyFile = Dir
    Loop

    Application.ScreenUpdating = True

End Sub

1 个答案:

答案 0 :(得分:0)

试试这个 MyFile = Dir(Path & Filename)