ID: Q157568
The information in this article applies to:
The "SaveAs Method" topic in the Visual Basic Help file indicates that you can use the SaveAs method with a Worksheet object to save a single worksheet in the workbook as an individual file. However, if you use the following syntax:
<Worksheet>.SaveAs filename:=<Path>
where <Worksheet> is the name of the worksheet you want to save, and <Path>
is the path and name for the file you are saving, the entire workbook may
be saved instead of the worksheet indicated by <Worksheet>.
This behavior occurs when you fail to specify a file format that saves only a single worksheet in the FileFormat argument for the SaveAs method.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:
http://www.microsoft.com/support/supportnet/refguide/
To save a single worksheet in your workbook as a separate file, include the
FileFormat argument that specifies a file format that saves a single
worksheet with the SaveAs method. Examples of single-sheet file formats
include Microsoft Excel 4.0 Worksheet, Text Files, and Lotus 1-2-3 (*.wk1).
For example, to save Sheet2 in the active workbook in the Microsoft Excel 4.0 worksheet format to a file called Test.xls in the current directory, use the following code:
Sub SaveSingleSheet()
Worksheets("sheet2").SaveAs filename:="test.xls", _
FileFormat:=xlExcel4
End Sub
NOTE: If the preceding code is in the same workbook as the worksheet you
are saving, you must close the workbook and then open Test.xls after you
run the macro. Test.xls will be a single sheet workbook.
This behavior is by design of the versions of Microsoft Excel listed at the beginning of this article.
If you use the SaveAs method with the Workbook object, Microsoft Excel saves the active worksheet in the workbook when you specify a single-sheet file format. For example, the following code saves the active worksheet in the active workbook as a single file called MyFile.xls in the Microsoft Excel 4.0 file format:
ActiveWorkbook.SaveAs filename:="MyFile.xls", FileFormat:=xlExcel4
Examples of multisheet file formats include Microsoft Excel Workbook and
Lotus 1-2-3 (*.wk3). When you use the SaveAs method and specify a
multisheet file format (or omit the FileFormat argument), all the
worksheets in the workbook are saved in the file. If you omit the
FileFormat argument, the default file format is the Microsoft Excel
Workbook format.
Additional query words: XL5 XL7 XL97 XL98 5.00 5.00c 7.00 7.00a 8.00 cursor
Keywords : kbprg kbdta kbdtacode PgmFilem KbVBA
Version : WINDOWS:5.0,5.0c,7.0,7.0a,97; MACINTOSH:5.0,98
Platform : MACINTOSH WINDOWS
Last Reviewed: May 18, 1999