This article was previously published under Q213631
This article has been archived. It is offered "as is" and will no longer be updated.
For a Microsoft Excel 2002 version of this article, see 291305. For a Microsoft Excel 98 and earlier version of this article, see 141690.
This article contains a sample Microsoft Visual Basic for Applicationsmacro (Sub procedure) that you can use to insert or delete rows or columns in multiple worksheets in Microsoft Excel.
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. In order to insert or delete rows or columns on multiple sheets, either usea For Each...Next statement to loop through all the required sheets or select the rows or columns before you perform the insertion or deletion.
NOTE: The following sample macros work only on a contiguous range ofcolumns or rows.
Sample Macro Using a Loop to Insert Rows in Multiple Sheets
Sub Insert_Rows_Loop() Dim CurrentSheet As Object ' Loop through all selected sheets. For Each CurrentSheet In ActiveWindow.SelectedSheets ' Insert 5 rows at top of each sheet. CurrentSheet.Range("a1:a5").EntireRow.Insert Next CurrentSheetEnd Sub
Sample Macro to Select Column and Insert New Column
The following sample macro selects the entire column before it inserts newcolumns:
Sub Select_Insert_Column() Dim MyRange as Object ' Store the selected range in a variable. Set MyRange = Selection ' Select the entire column. Selection.EntireColumn.Select ' Insert Columns in all selected sheets. Selection.Insert ' Reselect the previously selected cells. MyRange.SelectEnd Sub
For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
213823 XL2000: Macro That Changes Cell Dimensions on Multiple Sheets Doesn't Run As Expected