Loading
Excel.Tips.Net ExcelTips (Menu Interface)

Creating Individual Workbooks

Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Creating Individual Workbooks.

If you use Excel quite a bit, you know you may get some rather large workbooks from colleagues. Often it is desirable to break the workbook down, so that each worksheet is in its own workbook. While this can be done manually, the process quickly becomes tedious if you have a lot of breaking down to do.

This sort of repetitive work is a natural for a macro. The following macro, called BreakItUp, creates individual workbook files based on the worksheets in the current workbook. Thus, if the current workbook contains 25 worksheets, running this macro results in 25 individual Excel workbook files being created. Each workbook has a single worksheet, and the name of the workbook is the same as that of the worksheet.

Sub BreakItUp()
    Dim sht As Worksheet
    Dim NFName As String
    Const WBPath = "C:\"

    For Each sht In ActiveWorkbook.Worksheets
        sht.Copy
        NFName = WBPath & sht.Name & ".xls"
        ActiveWorkbook.SaveAs FileName:=NFName, _
            FileFormat:=xlNormal, CreateBackup:=False
        ActiveWindow.Close
    Next
End Sub

The BreakItUp macro stores the new workbooks in the root directory on the C: drive. If you want your workbooks saved in a different place, you can simply change the line in which the WBPath constant is created.

You should also know that it is relatively easy to crash this macro. For instance, if you use a character in a worksheet name that is not "legal" for a file name, the macro will rudely stop when it tries to create the file. Of course, you could easily make the modifications to the macro to check for and replace such illegal characters.

Another potential pitfall for the macro is that it will stop running if a file already exists that has the same name as a worksheet. For instance, let's suppose you have a worksheet named MySheet1. If there is already a file on disk called MySheet1.xls, then the macro will stop when it tries to overwrite the file. You can get around this by making sure there are no file name conflicts in the directory where the workbooks are being saved.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2230) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Creating Individual Workbooks.

Related Tips:

Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!

 

Leave your own comment:

*Name:
Email:
  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*Text:
*What is 5+3 (To prevent automated submissions and spam.)
 
 
           Commenting Terms

Comments for this tip:

B. Fitzpatrick    10 Nov 2012, 04:59
This may not work that well if formulas on a worksheet reference formulas on other worksheets in the original workbook
 
 

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2016)

Gardening

Health

Home Improvement

Money and Finances

Organizing

Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2016)

Our Products

Helpful E-books

Newsletter Archives

 

Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2016 Sharon Parq Associates, Inc.