软硬件问题探讨和使用技巧分享

excel表中将多个工作表合成一个工作表
  • 1楼 阿杰
  • 678902013-6-24 17:23:03
新建一个工作表,命名后保存到和与合并的N个文件同一个文件文件夹,按 alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。
  1. Sub 合并当前目录下所有工作簿的全部工作表()
  2. Dim MyPath, MyName, AWbName
  3. Dim Wb As Workbook, WbN As String
  4. Dim G As Long
  5. Dim Num As Long
  6. Dim BOX As String
  7.     Application.ScreenUpdating = False
  8.     MyPath = ActiveWorkbook.Path
  9.     MyName = Dir(MyPath & "" & "*.xls")
  10.     AWbName = ActiveWorkbook.Name
  11.     Num = 0
  12.     Do While MyName <> ""
  13.         If MyName <> AWbName Then
  14.             Set Wb = Workbooks.Open(MyPath & "" & MyName)
  15.             Num = Num + 1
  16.             With Workbooks(1).ActiveSheet
  17.                 .Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
  18.                 For G = 1 To Sheets.Count
  19.                     Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
  20.                 Next
  21.                 WbN = WbN & Chr(13) & Wb.Name
  22.                 Wb.Close False
  23.             End With
  24.         End If
  25.         MyName = Dir
  26.     Loop
  27.     Range("A1").Select
  28.     Application.ScreenUpdating = True
  29.     MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
  30. End Sub
复制代码
倒序浏览 看全部 全部回复
暂无回复,快来抢沙发
回复 收藏 转播 分享 淘帖