0
我對宏的經驗很少,而且在發現需要發佈我的問題之前,我一直在網上搜索很長時間。我的目標是填寫其他表格的信息。 我會將「合併文件」放在一個文件夾中,讓人們將他們填寫的問卷形式上傳到單獨的文件夾中,更深一層。運行時錯誤1004-無法找到工作簿(偶爾)
奇怪的問題是,有時它完美地填充整合文件,有時它根本沒有做任何事情。我得到一個運行時錯誤1004,說該文件無法找到。 它實際上提到了文件的確切名稱,但後來無法'找到'它。
任何幫助,將不勝感激。
親切的問候,
的Martijn
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
你試過[調用DoEvents(http://support.microsoft.com/kb/118468)? – pnuts
你可以做的一件事是嘗試調試代碼,以:1)找出引發錯誤的行,2)添加以發現「DoEvents」是否可以幫助(如果調試不會導致錯誤,那麼最有可能需要'DoEvents')。 –
'Dir'只返回文件名,所以如果包含文件夾沒有被設置爲當前目錄,那麼只傳遞文件名到'Open()'將失敗。您應該將完整路徑傳遞給'Open()' –