You are currently offline, waiting for your internet to reconnect

Sample macro to insert/delete rows or columns on multiple sheets in Excel

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

This article was previously published under Q291305
For a Microsoft Excel 2000 version of this article, see 213631.
For a Microsoft Excel 98 and earlier versions of Excel 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. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
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 XL: Macro That Changes Cell Dimensions on Multiple Sheets Doesn't Run As Expected
inf XL2002 XL2003 XL2007

Article ID: 291305 - Last Review: 01/31/2007 19:04:37 - Revision: 4.1

  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • kbdtacode kbhowto kbprogramming KB291305