字體:小 中 大 | |
|
|
2023/06/02 18:18:14瀏覽539|回應0|推薦0 | |
如果您Excel工作薄中有許多不同的工作表,您需要將這些 Excel 工作表的數據合併到一張工作表中。怎麼做?如果手動執行多個excel頁面合併成一個頁面,是一件既費時又費力的事情。從多個工作表複製和粘貼數據並不是一件容易的事,而且您可能時間也不夠。因此,我們有另外一種方法,可以輕鬆讓您將多个Excel頁面合併成一个頁面。 Excel頁面合併成一個的方法Excel頁面的合併分為兩種情況,一種是工作表合併、一種是工作簿合併。一個Excel表格叫做工作簿,每個工作簿中的Sheet叫做工作表。 不考慮極端的情況,如工作表/工作簿表頭不一致、列數不同等,這裡預設需要合併的工作表/工作簿表頭都是一致的。 合併同一工作簿下所有Sheet頁面合併同一工作簿下所有Sheet頁面的資料,針對資料的多少,有不同的方法。 方法一:剪貼薄合併Sheet頁面如果需要合併的資料比較少,我們可以利用剪貼板將所有sheet頁面合併到一個。
方法二:VBA法合併Sheet頁面不需要看懂代碼,將代碼複製粘貼到需要合併的工作簿中來,運行即可,表格合併完成。
Sub 合併當前工作簿下的所有工作表() On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False Set st = Worksheets.Add(before:=Sheets(1)) st.Name = "合併" For Each shet In Sheets: If shet.Name <> "合併" Then i = st.Range("A" & Rows.Count).End(xlUp).Row + 1 shet.UsedRange.Copy st.Cells(i, 1).PasteSpecial Paste:=xlPasteAll End If Next Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "已完成" End Sub 方法三:Power Query合併Sheet頁面 Power Query是Excel2016及其以上才有的功能,如果你的Excel版本較低,強烈建議安裝較高版本的Office軟體。
工作簿的合併-所有的Excel工作簿的合併工作簿的合併指合併在同一個文件下下所有的Excel工作簿。 方法一:Windows 批次處理命令首先我們需要將Excel表格檔另存為CSV檔,這一步可以通過VBA批量操作。 打開任意工作簿,調出Visual Basic 介面,輸入以下代碼(如何插入代碼上面有介紹,這裡不再贅述) Sub xlsxtocsv() Application.ScreenUpdating = False Application.DisplayAlerts = False t = ActiveWorkbook.Name mypath = ActiveWorkbook.Path & "\" myfile = Dir(mypath & "*.xlsx") Do Until Len(myfile) = 0 If myfile <> t Then Workbooks.Open Filename:=mypath & myfile ActiveWorkbook.SaveAs Filename:=mypath & Left(myfile, InStr(myfile, ".") - 1) & ".csv", FileFormat:=xlCSV End If If myfile <> t Then ActiveWorkbook.Close myfile = Dir Loop Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub 執行完畢後,將會將每一個表格生成一份csv檔。
此方法只適用於csv檔,不適用於xls/xlsx檔(也就是Excel表格),所以我們在第一步,需要將所有的Excel檔轉化成csv格式。 方法二:VBA法VBA運行方法都是一致的。 新建一個工作簿,打開,進入Visual Basic 介面,輸入以下代碼,點擊運行,等待程式完成之後,工作簿完成合併。 Sub 合併目前的目錄下所有工作簿() Dim Wb As Workbook Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = Dir(MyPath & "\" & "*.xlsx") AWbName = ActiveWorkbook.Name Do While MyName <> "" If MyName <> AWbName Then Set Wb = Workbooks.Open(MyPath & "\" & MyName) c = ThisWorkbook.Sheets("sheet1").UsedRange.SpecialCells(xlCellTypeLastCell).Row If c = 1 Then 防止合併的工作簿第一行空著 c = 0 End If ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets("sheet1").Cells(c + 1, 1) 合併工作簿的第一個sheet名字為:sheet1 Wb.Close False End If MyName = Dir Loop Application.ScreenUpdating = True MsgBox "已完成" End Sub 如果您想閱讀更多關於多个Excel頁面合併成一个頁面的相關資訊,請點擊貓噗知識+ 即刻救援。 |
|
( 知識學習|科學百科 ) |