Microsoft KB Archive/107623: Difference between revisions
(importing KB archive) |
m (Text replacement - """ to """) |
||
Line 18: | Line 18: | ||
In the Microsoft Visual Basic Programming System, Applications Edition, it is not possible to unhide multiple sheets with a single command. If you try to change the Visible property for more than one sheet to True in a single command such as following | In the Microsoft Visual Basic Programming System, Applications Edition, it is not possible to unhide multiple sheets with a single command. If you try to change the Visible property for more than one sheet to True in a single command such as following | ||
<pre> Sheets(Array( | <pre> Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Visible = True | ||
</pre> | </pre> | ||
you will receive the error: | you will receive the error: | ||
Line 38: | Line 38: | ||
'This line hides the sheets listed in the array | 'This line hides the sheets listed in the array | ||
'by setting the Visible property to False. | 'by setting the Visible property to False. | ||
Sheets(Array( | Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Visible = False | ||
End Sub | End Sub | ||
Line 44: | Line 44: | ||
'Dimension some variables. | 'Dimension some variables. | ||
Dim Collection As Variant, Item As Variant | Dim Collection As Variant, Item As Variant | ||
'This line creates an array of sheets, called | 'This line creates an array of sheets, called "Collection". | ||
Collection = Array( | Collection = Array("Sheet1", "Sheet2", "Sheet3") | ||
'Iterate through the loop once for each sheet in the array. | 'Iterate through the loop once for each sheet in the array. | ||
For Each Item In Collection 'for each sheet in the array, | For Each Item In Collection 'for each sheet in the array, | ||
Line 53: | Line 53: | ||
'--------------------------------------------------------------------- | '--------------------------------------------------------------------- | ||
</pre> | </pre> | ||
By establishing an array (called | By establishing an array (called "Collection" in this example) and using a For Each loop, it is possible to unhide the sheets one at a time. If you are unhiding many sheets, you may want to use the following line of code to disable your screen while the sheets are being unhidden: | ||
<pre> Application.ScreenUpdating = False | <pre> Application.ScreenUpdating = False | ||
Line 71: | Line 71: | ||
</span><br /> | </span><br /> | ||
<br /> | <br /> | ||
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED | THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.</blockquote> | ||
<span>Last reviewed: June 13, 1997</span><br /> | <span>Last reviewed: June 13, 1997</span><br /> | ||
[[../cpyright|©1997 Microsoft Corporation. All rights reserved. Legal Notices]].<br /> | [[../cpyright|©1997 Microsoft Corporation. All rights reserved. Legal Notices]].<br /> | ||
|} | |} |
Latest revision as of 10:13, 20 July 2020
Microsoft Knowledge Base
XL: Error Unhiding Multiple Sheets in Visual Basic
Last reviewed: June 13, 1997
Article ID: Q107623
The information in this article applies to:
- Microsoft Excel for Windows, versions 5.0, 5.0c
- Microsoft Excel for the Macintosh, versions 5.0, 5.0a
- Microsoft Excel for Windows 95, version 7.0
SUMMARY
In the Microsoft Visual Basic Programming System, Applications Edition, it is not possible to unhide multiple sheets with a single command. If you try to change the Visible property for more than one sheet to True in a single command such as following
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Visible = True
you will receive the error:
Unable to set the Visible property of the Sheets class
MORE INFORMATION
Microsoft provides examples of Visual Basic for Applications procedures 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. The Visual Basic procedures in this article are provided 'as is' and Microsoft does not guarantee that they can be used in all situations. While Microsoft support engineers can help explain the functionality of a particular macro, they will not modify these examples to provide added functionality, nor will they help you construct macros to meet your specific needs. If you have limited programming experience, you may want to consult one of the Microsoft Solution Providers. Solution Providers offer a wide range of fee-based services, including creating custom macros. For more information about Microsoft Solution Providers, call Microsoft Customer Information Service at (800) 426-9400. The following code examples assume you have a workbook that contains three worksheets (Sheet1, Sheet2, and Sheet3) and a single Visual Basic module (Module1).
If you run the HideSheets subroutine, the sheet tabs for Sheet1, Sheet2, and Sheet3 will disappear from the screen as the sheets are hidden.
To unhide the sheets, you can use the UnhideSheets subroutine. This subroutine loops through an array to unhide the sheets.
'---------------------------------------------------------------------
Option Explicit
Sub HideSheets() 'This line hides the sheets listed in the array 'by setting the Visible property to False. Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Visible = False End Sub Sub UnhideSheets() 'Dimension some variables. Dim Collection As Variant, Item As Variant 'This line creates an array of sheets, called "Collection". Collection = Array("Sheet1", "Sheet2", "Sheet3") 'Iterate through the loop once for each sheet in the array. For Each Item In Collection 'for each sheet in the array, Sheets(Item).Visible = True 'unhide the current sheet Next 'repeat the loop until all done End Sub '---------------------------------------------------------------------
By establishing an array (called "Collection" in this example) and using a For Each loop, it is possible to unhide the sheets one at a time. If you are unhiding many sheets, you may want to use the following line of code to disable your screen while the sheets are being unhidden:
Application.ScreenUpdating = False
To re-enable the screen when you are done, use the following command:
Application.ScreenUpdating = True
Additional reference words: 5.00 7.00 Last reviewed: June 13, 1997 |