用循环打开文件

在一个文件夹中我有不同的Excel工作簿是这样的:

Exercise1 Exercise2 Exercise3 ... ExerciseN 

我想打开不同工作表上相同Excel工作簿中文件夹中的所有文件(全部.xls)。

我想这将是这样的事情,但不是:

 Sub Macro1() For i = 1 To ?? Workbooks.Open Filename:="C:\Exercisei.xls" Next i End Sub 

以下代码是一个简单的子例程,用于打开已定义文件夹中的所有excel文件。 你可以在variables中调整你的文件名。 我简化了目录中定义的macros

 Sub openfiles() Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer Application.ScreenUpdating = False directory = "c:\test\" fileName = Dir(directory & "*.xl??") '<-- you can use * and ? wild cards here. Do While fileName <> "" Workbooks.Open (directory & fileName) fileName = Dir() Loop Application.ScreenUpdating = True End Sub 

这个例子是用于2个 .xls文件的:

 Sub qwerty() Dim master As Workbook, awb As Workbook Dim N As Long Dim s1 As String, s2 As String, i As Long N = 2 Set master = ThisWorkbook s1 = "C:\TestFolder\Examplez.xls" For i = 1 To N s2 = Replace(s1, "z", CStr(i)) Workbooks.Open Filename:=s2 Set awb = ActiveWorkbook ActiveSheet.Copy after:=master.Sheets(master.Sheets.Count) awb.Close Next i End Sub 

每个工作表被复制到主工作簿,然后该Example.xls已closures。
您可以更改文件夹名称并调整要处理的文件数量。