|
按住alt依次单击F11、I、M,复制并运行下面的代码。
Sub 多工作簿汇总()
Dim wk As Workbook, lr As Long, lr1 As Long, i As Integer, Filename, a
Application.ScreenUpdating = False
ChDrive "C" '改变当前的驱动器,这里假设是C盘,请自己设定
ChDir ThisWorkbook.Path '改变当前文件夹,这里假设是本工作簿路径,请自己设定
Filename = Application.GetOpenFilename(FileFilter:="Excel 工作簿文件 (*.xls),*.xls", Title:="请选择文件", MultiSelect:=True)
If TypeName(Filename) = "Boolean" Then Exit Sub
Range("a1:l65536") = ""
For i = 1 To UBound(Filename)
a = Split(Filename(i), "\")
If a(UBound(a)) <> ThisWorkbook.Name Then
Set wk = GetObject(Filename(i))
With wk.Sheets(1)
lr = .Range("a65536").End(xlUp).Row
lr1 = ThisWorkbook.Sheets(1).Range("a65536").End(xlUp).Row + 1
.Range("a1:l" & lr).Copy ThisWorkbook.Sheets(1).Range("a" & lr1)
End With
End If
wk.Close False
Next i
Application.ScreenUpdating = True
MsgBox "汇总完毕"
End Sub
[ 本帖最后由 klas_as 于 2008-11-28 14:28 编辑 ] |
|