如何快速把多個excel表合併成一個excel表

來源:酷知科普網 2.33W

很多朋友會遇到這樣的問題,就是很有很多頁的資料,少的有幾十頁,多的可能有幾百頁,然後需要合併到一個頁面做資料分析,如果一頁頁的複製貼上的話,就比較麻煩。下面我就介紹一種利用Excel的巨集計算來解決這個問題,有需要的朋友可以參考一下哦,希望能對大家有所幫助。

操作方法

(01)在原始資料同目錄下新建一個工作簿,建立兩個工作表,名稱分別為“首頁”和“合併彙總表”。

如何快速把多個excel表合併成一個excel表

(02)按Alt+F11進入VBA程式碼編輯和除錯介面。

如何快速把多個excel表合併成一個excel表 第2張

(03)在工具欄中找到插入,點選插入,選擇模組。

如何快速把多個excel表合併成一個excel表 第3張

(04)將下述程式碼貼上到模組空白處:複製程式碼程式碼如下:Sub CombineSheetsCells()Dim wsNewWorksheet As WorksheetDim cel As RangeDim DataSource, RowTitle, ColumnTitle, SourceDataRows, SourceDataColumns As VariantDim TitleRow, TitleColumn As RangeDim Num As IntegerDim DataRows As LongDataRows = 1Dim TitleArr()Dim ChoiceDim MyName$, MyFileName$, ActiveSheetName$, AddressAll$, AddressRow$, AddressColumn$, FileDir$, DataSheet$, myDelimiter$Dim n, in = 1i = layAlerts = FalseWorksheets("合併彙總表")teSet wsNewWorksheet = (, after:=Worksheets(t)) = "合併彙總表"MyFileName = penFilename("Excel工作薄 (**),**")If MyFileName = "False" ThenMsgBox "沒有選擇檔案!請重新選擇一個被合併檔案!", vbInformation, "取消" Filename:=MyFileNameNum = tMyName = Set DataSource = tBox(prompt:="請選擇要合併的資料區域:", Type:=8)AddressAll = e(AddressAll)ctSourceDataRows = tSourceDataColumns = enUpdating = leEvents = FalseFor i = 1 To ts(i)ts(i)e(AddressAll)ActiveSheetName = Workbooks()ts("合併彙總表")ts("合併彙總表")e("A" & DataRows)e = ts("合併彙總表")e(Cells(DataRows, 2), Cells(DataRows, 2))eSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _SkipBlanks:=False, Transpose:=eSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _False, Transpose:=eSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseDataRows = DataRows + SourceDataRowsWorkbooks(MyName)vateNext enUpdating = leEvents = TrueEnd IfWorkbooks(MyName)eEnd Sub

如何快速把多個excel表合併成一個excel表 第4張

(05)找到工具欄的“開發工具”,點選“插入”,找到表單控制元件裡的窗體控制元件,在“首頁”工作表中按下圖示範插入一個窗體控制元件並指定巨集為插入的程式碼名稱。

如何快速把多個excel表合併成一個excel表 第5張

(06)點選“首頁”工作表中插入的按鈕,根據提示,瀏覽到原始資料工作簿。

如何快速把多個excel表合併成一個excel表 第6張

(07)用滑鼠選擇要合併的資料範圍,點選確定按鈕,合成成功。

如何快速把多個excel表合併成一個excel表 第7張
熱門標籤