XL2000: Recorded Macro Contains DrawingObjects Method (213526)



The information in this article applies to:

  • Microsoft Excel 2000

This article was previously published under Q213526

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.

Modification Type:MinorLast Reviewed:10/10/2006
Keywords:kbbug kbdtacode kbpending KB213526