返回列表 上一主題 發帖

如何多個excel 放在一個excel?

回復 5# ui123
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim xFileAr, i As Integer, x As Integer, S As Integer
  4.     Dim wB As Workbook
  5.     With Application.FileDialog(msoFileDialogFilePicker)    '選資料夾的視窗
  6.         Do                                                  '迴圈: 可多次選資料夾
  7.             .Show                                           '顯示:資料夾的視窗
  8.             For i = 1 To .SelectedItems.Count               '選擇的檔案之個數
  9.                 xFileAr = xFileAr & "," & .SelectedItems(i) '紀錄字串:選擇的檔案之完整路徑
  10.             Next
  11.         Loop Until .SelectedItems.Count = 0                 '一直到沒有選擇檔案
  12.         If xFileAr = "" Then Exit Sub
  13.      End With
  14.      xFileAr = Split(Mid(xFileAr, 2), ",")                   '紀錄選擇的檔案字串轉換為陣列
  15.      Set wB = ThisWorkbook        '這程式碼所在的活頁簿      '或是 Workbooks("AAA.XLS") '多個excel放在一個excel
  16.      For i = 0 To UBound(xFileAr)
  17.         With Workbooks.Open(xFileAr(i))  '要開啟的多個excel...
  18.             x = wB.Sheets.Count                                 '這活頁簿的工作表數量
  19.             For S = 1 To .Sheets.Count
  20.                 .Sheets(S).Copy wB.Sheets(x)           '工作表複製,
  21.                 ActiveWorkbook.ActiveSheet.Name = .Name & "_" & .Sheets(S).Name
  22.             Next
  23.             .Close False
  24.         End With
  25.      Next
  26. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-11-10 20:48 編輯

回復 7# ui123
  1.     For S = .Sheets.Count To 1 Step -1         '索引值由後往前
  2.                 .Sheets(S).Copy wB.Sheets(1)  '複製工作表,在這活頁簿的第1個工作表之前
  3.                 ActiveWorkbook.ActiveSheet.Name = .Name & "_" & .Sheets(S).Name
  4.             Next  
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 改變自己是自救,影響別人是救人。
返回列表 上一主題