Microsoft KB Archive/141690

= Sample Macro to Insert/Delete Rows or Columns on Multiple Sheets =

Article ID: 141690

Article Last Modified on 10/11/2006

-

APPLIES TO


 * Microsoft Excel 97 Standard Edition
 * Microsoft Excel 95 Standard Edition
 * Microsoft Excel 5.0 Standard Edition
 * Microsoft Excel 98 for Macintosh

-



This article was previously published under Q141690



For a Microsoft Excel 2002 version of this article, see 291305.

For a Microsoft Excel 2000 version of this article, see 213631.



SUMMARY
This article contains a sample Microsoft Visual Basic for Applications macro (Sub procedure) that can be used 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 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

