2012-10-12 69 views
2

我需要打開文件夾中的所有Excel文件,並將每個文件的第57,77,73,77行復制到同一個工作簿中。複製文件夾中所有文件的數據

這這是我到目前爲止有:

Dim i As Integer 
Dim wbOpen As Workbook 
Dim MyPath As String 
Dim strFilename As String 
MyPath = "C:\foldername" 'the folder 
strFilename = Dir(MyPath & "\*.xls") 'all excel files in folder 

Do Until strFilename = "" 

    'here it gives an error, saying it can't open file, 
    ' even though it apparently has found it 
    wbOpen = Workbooks.Open(strFilename) 

    'copy relevant text 
    Workbooks(2).Activate 
    Sheets("blad1").Rows(1, 57, 72, 73, 74).Copy 
    Workbooks(1).Activate 
    'select the first empty row 
    irow = ActiveSheet.UsedRange.Rows.Count + 1 
    'insert the copied 
    irow.Insert Shift:=xlDown 
    'close the workbook without saving 
    Workbooks(2).Close SaveChanges:=False 
    Close 

Loop 

回答

1

試試這樣說:

MyPath = "C:\foldername" 'the folder 
strFilename = Dir(MyPath & "\*.xls") 'all excel files in folder 

Do Until strFilename = "" 
... 
strFilename=Dir() 
Loop 

告訴我,如果這個工程

編輯:修復Sheets("blad1").Rows(1, 57, 72, 73, 74).CopySheets("blad1").Rows("1, 57, 72, 73, 74").Copy

+0

不,仍然沒有工作。奇怪的是,它一直給出這個錯誤:「(正確的文件名.xls)找不到。」線路Workbooks.Open(strFilename) – Seeb

+0

好了,我已經試過如下: strFilename = DIR() Workbooks.Open(mypath中& 「\」 &strFilename) 的休息是相同 從而打開第一個文件,但後來說該文件不是真正的xls文件,並停止.. – Seeb

+0

我收到與以前一樣的錯誤。問題可能是,當我嘗試手動打開工作簿時,我也得到相同的msg:「文件沒有與其擴展名相同的文件格式。也許它來自不可靠的來源blabla,您確定要打開它嗎?」 – Seeb

相關問題