回覆列表
  • 1 # 使用者5688515724080

    謝邀。給一個相對通用的方法。前提:1. 一個目錄裡有多個Excel檔案(WorkBook)2.每個檔案中有多個Sheet,數量不定3.每個Sheet的列定義相同,行數相同,列數量不定舉例:(其中data_1還有一個sheet,未顯示)程式碼:

    程式碼本身是自明的,基本原理是遍歷所有xlsx檔案,逐一開啟,複製資料。執行結果是這樣的:

  • 2 # 楠少為你戰天下669

    新建一個資料夾,將需要合併的excel文件複製到該文件目錄下。 2/7新建一個EXCEL空白文件,滑鼠移動到在sheet工作表上單擊右鍵,選擇“檢視程式碼”選項,進入VBA控制檯。 3/7在選單欄點選“插入”選單,選擇“模組”選項,進入模組編輯介面。 4/7在編輯框中複製以下程式碼,注意符號,需是英文狀態下。"功能:把多個excel工作簿的第一個sheet工作表合併到一個excel工作簿的多個sheet工作表,新工作表的名稱等於原工作簿的名稱Sub Books2Sheets() "定義對話方塊變數 Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) "新建一個工作簿 Dim newwb As Workbook Set newwb = Workbooks.Add With fd If .Show = -1 Then "定義單個檔案變數 Dim vrtSelectedItem As Variant "定義迴圈變數 ,開始檔案檢索,開啟被合併工作簿 ,複製工作表,把新工作簿的工作表名字改成被複制工作簿檔名,這兒應用於xls檔案, 5/7程式碼輸入後,點選選單項中“執行”,選擇“執行子過程”選項,或者按下F5快捷鍵,執行程式碼。 6/7執行程式碼後,會彈出文件選擇介面,找到新建資料夾的路徑,選擇你所需要合併的文件,選擇文件後,點選“開啟”,程式碼正在執行,執行時間視文件數目而定。 7/7程式碼段執行結束後,就會出現已經合併完成的excel文件介面,新工作表的名稱等於原工作簿的名稱。

  • 3 # 使用者8316781897443

    1、新建一個資料夾、將要合併的表格放到裡面、新建一個表格、用excel開啟、右擊Sheet1

    2、選擇檢視程式碼(PS:excel有著一項,WPS沒有)

    3、將下列程式碼複製到文字框中:

    Sub 合併當前目錄下所有工作簿的全部工作表()

    Dim MyPath, MyName, AWbName

    Dim Wb As workbook, WbN As String

    Dim G As Long

    Dim Num As Long

    Dim BOX As String

    Application.ScreenUpdating = False

    MyPath = ActiveWorkbook.Path

    MyName = Dir(MyPath & "\" & "*.xls")

    AWbName = ActiveWorkbook.Name

    Num = 0

    Do While MyName ""

    If MyName AWbName Then

    Set Wb = Workbooks.Open(MyPath & "\" & MyName)

    Num = Num + 1

    With Workbooks(1).ActiveSheet

    .Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)

    For G = 1 To Sheets.Count

    Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)

    Next

    WbN = WbN & Chr(13) & Wb.Name

    Wb.Close False

    End With

    End If

    MyName = Dir

    Loop

    Range("B1").Select

    Application.ScreenUpdating = True

    MsgBox "共合併了" & Num & "個工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

    End Sub

  • 中秋節和大豐收的關聯?
  • 蘇德戰爭中,德國如果一開始就去進攻斯大林格勒和高加索地區,結果會不會好一些?