2012-10-12 44 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

相关问题