XL2002: Sample Macro to Insert/Delete Rows or Columns on Multiple Sheets (291305)



The information in this article applies to:

  • Microsoft Excel 2002

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 version of this article, see 141690.

SUMMARY

This article contains a sample Microsoft Visual Basic for Applications macro (Sub procedure) that you can use to insert or delete rows or columns in multiple worksheets in Microsoft Excel.

MORE INFORMATION

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 use a 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 of columns 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 CurrentSheet
End Sub
				

Sample Macro to Select Column and Insert New Column

The following sample macro selects the entire column before it inserts new columns:
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.Select
End Sub
				

REFERENCES

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


Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbdtacode kbhowto kbProgramming KB291305