Microsoft KB Archive/192904

= XL98: Macro That Changes Cell Dimensions on Multiple Sheets Fail =

Article ID: 192904

Article Last Modified on 6/17/2005

-

APPLIES TO


 * Microsoft Excel 98 for Macintosh

-



This article was previously published under Q192904





SYMPTOMS
If you record a macro that changes column widths, changes row heights, or hides/unhides rows or columns while multiple sheets are selected, the macro may not run as you expect. When you run the macro, only the active sheet in the multiple sheet selection will reflect the changes to the column widths and/or row heights.



WORKAROUND
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers 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 requirements. To work around this situation, modify the recorded macro. To determine which portions of your macro to modify, follow these steps:

 On the Tools menu, point to Macro, and then click Record New Macro. Click OK. Press and hold the COMMAND key and select the sheet tabs for Sheet1 and Sheet2. Click the Sheet1 tab to activate Sheet1. Select column A.  To hide column A, point to Column on the Format menu, and then click Hide.

The recorded macro will appear as follows: Sub Macro1 Sheets(Array("Sheet1", "Sheet2")).Select Sheets("Sheet1").Activate Columns("A:A").Select Selection.EntireColumn.Hidden = True End Sub 

When you run this macro, column A on Sheet1 will be hidden, but column A on Sheet2 will remain unhidden. To correct the macro so that column A is hidden on both sheets, modify the macro so that it looks like the following example: Sub Macro1

Dim Sht As Worksheet

' Select Sheet1 and Sheet2 and make Sheet1 the active sheet.

Sheets(Array("Sheet1", "Sheet2")).Select Sheets("Sheet1").Activate

' Loop through each sheet in the selected sheets and hide column ' A on that sheet.

For Each Sht In ActiveWindow.SelectedSheets Sht.Columns("A:A").Hidden = True Next

End Sub If you want to be prompted for the column letter for the column to hide, use the following macro: Sub Macro1

Dim colx As String Dim Sht As Worksheet

' Assign column letter to variable. colx = InputBox ("Enter a letter for the column to hide")

' Select Sheet1 and Sheet2 and make Sheet1 the active sheet.

Sheets(Array("Sheet1", "Sheet2")).Select Sheets("Sheet1").Activate

' Loop through each sheet in the selected sheets and hide column ' A on that sheet.

For Each Sht In ActiveWindow.SelectedSheets Sht.Columns("" & colx & ":" & colx & "").Hidden = True Next

End Sub

<div class="status_section">

STATUS
Microsoft has confirmed this to be a problem in Microsoft Excel 98 Macintosh Edition.

Additional query words: XL98

Keywords: kbprb kbdtacode KB192904

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.