如何在 Excel 中將每個工作表匯出並另存為單獨的新工作簿
Excel 廣泛應用於各個行業和職業,包括金融、會計、資料分析、專案管理、銷售等等。其多功能性和強大的功能使其成為操作和分析資料、建立報告並列印、做出明智的商業決策的強大工具。要將每個工作表匯出並另存為 Excel 中的單獨新工作簿,可以使用 VBA(Visual Basic for Applications)程式碼。
如何在 Excel 中將每個工作表匯出並另存為單獨的新工作簿
以下是如何實現此目的的示例
步驟 1
開啟您的 Excel 工作簿。
在工作表中建立示例資料。在本例中,建立了 3 個工作表,分別為訂單、產品和客戶。
訂單工作表
產品工作表
客戶工作表
步驟 2
按“Alt + F11”開啟 Visual Basic 編輯器。
透過單擊選單中的“插入”>“模組”插入一個新模組。
將以下 VBA 程式碼貼上到模組中
Sub ExportWorksheets() Dim OriginalWorkbook As Workbook Dim NewWorkbook As Workbook Dim OriginalWorksheet As Worksheet Dim NewWorksheet As Worksheet Application.ScreenUpdating = False Application.DisplayAlerts = False Set OriginalWorkbook = ThisWorkbook 'Assuming the code is running from the workbook you want to split For Each OriginalWorksheet In OriginalWorkbook.Worksheets Set NewWorkbook = Workbooks.Add 'Create a new workbook for each worksheet Set NewWorksheet = NewWorkbook.Worksheets(1) 'Get the first worksheet of the new workbook OriginalWorksheet.Copy Before:=NewWorksheet 'Copy the original worksheet to the new workbook 'Remove other worksheets in the new workbook While NewWorkbook.Worksheets.Count > 1 NewWorkbook.Worksheets(2).Delete Wend 'Save the new workbook with the name of the original worksheet NewWorkbook.SaveAs "E:\Assignments\3rd Assignments\How to export and save each worksheet as separate new workbook in Excel\NewSheets" & OriginalWorksheet.Name & ".xlsx" NewWorkbook.Close SaveChanges:=False 'Close the new workbook without saving changes Next OriginalWorksheet Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "Worksheets exported successfully!", vbInformation End Sub
螢幕截圖如下所示
步驟 3
如果您想從不同的工作簿匯出工作表,請修改 Set OriginalWorkbook = ThisWorkbook 行。將“E:\Assignments\3rd Assignments\How to export and save each worksheet as separate new workbook in Excel\NewSheets”替換為您要儲存新工作簿的所需資料夾路徑。
步驟 4
按“F5”或單擊“執行”按鈕以執行程式碼。
現在您將收到工作表已成功匯出的彈出視窗。
此 VBA 程式碼將遍歷原始工作簿中的每個工作表,建立一個新工作簿,將當前工作表複製到新工作簿,刪除新工作簿中的任何其他工作表,以原始工作表名稱儲存新工作簿,並關閉新工作簿而不儲存更改。每個工作表都將作為單獨的新工作簿儲存到指定的資料夾路徑中。
注意
在執行程式碼之前,請確保將檔案路徑替換為您所需的目的地路徑。
在 NewSheets 資料夾中,每個工作表都匯出並另存為單獨的新工作簿。請參閱螢幕截圖
結論
使用 VBA(Visual Basic for Applications)程式碼可以實現將每個工作表匯出並另存為 Excel 中的單獨新工作簿。透過執行幾個簡單的步驟,您可以自動化此過程並有效地管理您的工作表。
首先,開啟您的 Excel 工作簿,然後按“Alt + F11”訪問 Visual Basic 編輯器。插入一個新模組,並將提供的 VBA 程式碼貼上到其中。該程式碼初始化變數並迴圈遍歷工作簿中的每個工作表。對於每個工作表,都會建立一個新的工作簿,並將原始工作表複製到其中。刪除新工作簿中的其他工作表以確保僅保留複製的工作表。然後,將新工作簿儲存為從原始工作表名稱派生的名稱,最後關閉而不儲存更改。
透過根據需要修改程式碼並指定所需的目的地資料夾,您可以有效地將每個工作表匯出為單個工作簿。這種自動化極大地簡化了流程,在使用 Excel 中的多個工作表時節省了時間和精力。