XL2000: Recorded Macro Contains DrawingObjects Method

ID: Q213526


The information in this article applies to:
  • Microsoft Excel 2000


SYMPTOMS

When you record a Microsoft Visual Basic for Applications macro in Microsoft Excel, the hidden DrawingObjects method is recorded in your macro. Specifically, the following line of code is recorded:


   ActiveSheet.DrawingObjects.Select 


CAUSE

This behavior occurs when you record a macro in which you select all of the objects in a worksheet.

Although the DrawingObjects method is hidden in Microsoft Excel 97 and later, it provides the same functionality that it does in versions of Microsoft Excel earlier than Excel 97. If you select all the objects in a worksheet while recording a macro, the recorded code uses the DrawingObjects method instead of the Shapes collection. This behavior is by design of Microsoft Excel.


WORKAROUND

If you prefer to use the Shapes collection instead of the DrawingObjects method, replace the line of recorded code. To do this, search the macro for the following code:


   ActiveSheet.DrawingObjects.Select 

Replace this code with the following code:

   ActiveSheet.Shapes.SelectAll 

Both lines of code are functionally identical.


MORE INFORMATION

In Microsoft Excel, you can select all the drawing objects in a worksheet by following these steps:

  1. On the Edit menu, click Go To.


  2. In the Go To dialog box, click Special.


  3. In the Go To Special dialog box, click Objects, and then click OK.


All of the objects in the worksheet are selected.

If you perform these steps while recording a Visual Basic macro, the recorded code uses the older DrawingObjects method instead of the newer Shapes collection. This does not present a problem when you run the recorded code.

Additional query words: XL2000

Keywords : kbdta kbdtacode KbVBA vbappcode
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: July 6, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.