XL: Some Worksheet Properties Not Preserved (211809)



The information in this article applies to:

  • Microsoft Excel 2000
  • Microsoft Excel 2002

This article was previously published under Q211809
For a Microsoft Excel 97 version of this article, see 169106.

SYMPTOMS

When you save, close, and then reopen a workbook in Microsoft Excel, some of the properties of worksheets in the workbook are not saved. The following properties are affected:

EnableAutoFilter
EnableCalculation
EnableOutlining
DisplayPageBreaks
EnablePivotTable
EnableSelection

CAUSE

These worksheet properties are not designed to be saved when you close a workbook.

WORKAROUND

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 a Microsoft Certified Partner or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, please visit the following Microsoft Web site: For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:
If you want to set the properties of a worksheet to specific values when you open a workbook, use a Visual Basic for Applications macro to set the properties when the workbook that contains the worksheet is opened. The following sample macro demonstrates one way to do this:
' Auto_Open macros run automatically when you open the workbook.

Sub Auto_Open()

   With ThisWorkbook.Worksheets("Sheet1")

       ' Set as many as these properties as you need.
       .EnableSelection = xlNoSelection
       .EnablePivotTable = True
       .EnableOutlining = True
       .EnableAutoFilter = True
       .DisplayPageBreaks = True
       .EnableCalculation = False

   End With

End Sub
				
If you insert this code into a module in the workbook, the macro sets the properties for worksheet Sheet1 whenever you open the workbook manually.

NOTE: If you use a macro to open the workbook, you must use the RunAutoMacros method to run the Auto_Open macro.

MORE INFORMATION

The properties listed in this article are not preserved when you close a workbook. When you reopen the workbook, the properties for each worksheet revert to their default values, which are listed in the following table.
   Property            Default Value
   ----------------------------------------

   EnableSelection     0 - xlNoRestrictions
   EnableOutlining     False
   EnableAutoFilter    False
   EnablePivotTable    False
   EnableCalculation   True
   DisplayPageBreaks   False
				
You can set these properties programmatically, as in the "Workaround" section in this article, or you can use the Properties window in the Visual Basic Editor to set them. To do this, follow these steps:
  1. Switch to the Visual Basic Editor by pressing ALT+F11.
  2. In the Project window, click the worksheet with the properties you want to change.
  3. If the Properties window is not visible, click Properties Window on the View menu.
  4. In the Properties window, click the property you want to change and select the value you want from the drop down box to the right.

REFERENCES

For more information about properties listed in this article, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type enableselection in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

Modification Type:MajorLast Reviewed:11/5/2003
Keywords:kbprb KB211809