如何在 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 中的多個工作表時節省了時間和精力。

更新於: 2023-07-12

483 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

立即開始
廣告