XL: Macro That Changes Cell Dimensions on Multiple Sheets Fails

Last reviewed: February 3, 1998
Article ID: Q131164
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, versions 7.0, 7.0a
  • Microsoft Excel for Windows NT, version 5.0
  • Microsoft Excel 97 for Windows
  • Microsoft Excel 98 Macintosh Edition

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, 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 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 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/default.asp

To work around this situation, modify the recorded macro. To determine which portions of your macro to modify, follow these steps:

  1. On the Tools menu, point to Record Macro, and then click Record New Macro. Click OK.

  2. Press and hold the CTRL key and select the sheet tabs for Sheet1 and Sheet2.

  3. Click the Sheet1 tab to activate Sheet1.

  4. Select column A.

  5. 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()

      ' 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()

      ' 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


STATUS

Microsoft has confirmed this to be a problem in the products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


Additional query words:
Keywords : kbcode kbmacro kbprg PgmOthr
Version : WINDOWS:5.0,5.0c,7.0,7.0a,97; MACINTOSH:5.0,5.0a,98
Platform : MACINTOSH WINDOWS
Issue type : kbbug
Solution Type : kbworkaround


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.

Last reviewed: February 3, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.