VBA Macro used in the Microsoft Office Excel Application

Excel Save Worksheets as Workbooks | VBA Macro #18

Share on facebook
Share on twitter
Share on linkedin
You have your data in Worksheets but you need separate Workbooks. The tedious way is to open a bunch of blank Workbooks. Then copy and paste information from each Worksheet and save each Workbook onto your computer. Good news is there is a better way with VBA! Save Worksheets as Workbooks is an Excel macro that will take existing worksheets and save them as their own workbook.   By default, the path of the Active Workbook will be used so the new Workbooks are saved at the same location. (Customize: You can indicate a different path in the VBA code) Once saved the Worksheet name will become the new Workbook name. This macro is a great way separate your data making it easier to send Workbooks as attachments to specific recipients.If you need a quick way to move information into their own worksheet checkout our macro Excel Create Worksheet per Filter Value!

See it in Action!

Watch this video to see this macro in action.

The Code

Here is the code for this macro. Make sure the following References are setup before running it: Visual Basic For Applications, Microsoft Excel 16.0 Object Library
'Leverage & Lean "Less Clicks, More Results"
Sub SaveWorksheetsasWorkbooks()
' Means variable is in use
Dim FilePath As String '
Dim WS As Worksheet '

On Error GoTo LeverageLean

'Hide ScreenUpdating and Display Alerts
Application.ScreenUpdating = False
Application.DisplayAlerts = False

FilePath = Left(ActiveWorkbook.FullName, Len(ActiveWorkbook.FullName) - Len(ActiveWorkbook.Name)) 'Active Workbook File Path

For Each WS In ActiveWorkbook.Sheets
WS.Copy 'Copy Worksheet
Application.ActiveWorkbook.SaveAs Filename:=FilePath & WS.Name & ".xlsx" 'Save new Workbooks to Active Workbook File Path
Application.ActiveWorkbook.Close 'Remove if you want the New Workbooks to remain open
MsgBox ("The Worksheets have been saved as Workbooks!") 'If not check your FilePath
Exit Sub
MsgBox (Err.Number & " - " & Err.Description & vbNewLine & vbNewLine & "Don't hesitate to email me: brentschneider@leveragelean.com")
End Sub
'Stay Awesome

Macro Monday

Here is the Macro Monday video this macro was featured in. Watch this video to learn how to get the most out of this macro and start using it today!


These lines of code can be customized to personalize this macro.
13. FilePath = Left(ActiveWorkbook.FullName, Len(ActiveWorkbook.FullName) – Len(ActiveWorkbook.Name)) ‘Active Workbook File Path
Change the FilePath so the new workbooks save somewhere else

21. MsgBox (“The Worksheets have been created into Workbooks!”) ‘If not check your FilePath
Remove the MsgBox or make it comment to not see it once the macro finishes
Notify of
Newest Most Voted
Inline Feedbacks
View all comments

[…] macro can be used as the final action after using Excel Create Worksheet per Filter Value and Excel Save Worksheets as Workbooks.  These macros used in this sequence provides an efficient way to communicate relevant information […]


[…] macro is the combination of 3 Excel macros:  Create Worksheet per Filter Value | VBA Macro #16, Save Worksheets as Workbooks | VBA Macro #18, and Create Emails with Workbooks Attached | VBA Macro #23. This Excel macro starts by filtering a […]


[…] Share on linkedin This Excel macro is the inverse of Copy Multiple Workbooks into One where separate Workbooks are being combined into one MASTER Workbook.  The Update Multiple […]

Search for Excel Macros

Recent Macros

VBA Macro used in the Microsoft Office Excel Application

Excel Find Largest and Smallest Value | VBA Macro #36

This is an Excel macro that will find the Largest and Smallest values in a Workbook. Once this Excel macro finishes a Message Box will display the Active Workbook that was searched and the Max and Min values found. With some additional updates to the VBA code you can have this Excel macro fire every time an Excel Workbook opens! No longer do you need to sort or use conditional formatting to identify the Largest and Smallest values in Excel. There is a better way with VBA so start using the Excel Find Largest and Smallest Value today!

VBA Macro used in the Microsoft Office Outlook Application

Outlook Greeting and Goodbye Contacts | VBA Macro #35

The Greeting and Goodbye Contact macro automates the entry of a Greeting “Good Morning” or “Hello” followed by the First Name of the recipient you are emailing. To identify the First Name this macro uses the recipient’s email address to loop through all the existing contact records for a matching email address. If a match is found the contact’s First Name field value is used in the beginning of the email. The appropriate Greeting and Goodbye is determined by the current time and the day of the week. The Greeting and Goodbye Contacts macro helps you deliver better customer service and create better connections with your clients!

VBA Macro used in the Microsoft Office Excel Application

Excel Custom Questionnaire to File | VBA Macro #34

This is an Excel macro that generates a custom questionnaire to complete.  The Role field is used to determine what questions display for specific users.  Once a user selects their Role, they can click Generate to see what questions they need to complete to finish the questionnaire.  After a user has completed all the required questions, they can click Finish to create a separate Excel Workbook with all the populated answers.   You can customize where this new file is saved making it easy to know when someone has completed a questionnaire and is awaiting review. There is also the option to send this separate Excel Workbook in an Outlook email with a couple updates to the VBA code. There is always a better way with VBA and this Excel macro helps standardize the collection of answers to specific questions. This can help lead to a more formal review process and eliminate mistakes.

First time using VBA?

The Developer Tab is an additional section of the ribbon when activated allows you access to Visual Basic in Applications like Excel, Outlook, Word.
Setup Now
Once the Developer Tab is available you will have the capability to update your security to allow Macros to run in the current application.
Setup Now
A sub of code is a collection of objects and variables. For the code to successfully run a library of references needs to be set.
Setup Now

Looking for more?

Subscribe as an Insider to receive additional rights.

Contact Us

Looking to improve your computer processes?
Leverage & Lean is here to help!

Copyright © 2019 Leverage & Lean – “Less Clicks, More Results”