Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Macro to insert and delete rows
Hi, I need help with two macro´s.
One that insert rows and one that delete rows. I have found this one at David Mcritchie´s webpage to insert in active sheet How to get the same, but delete instead of insert? And how to change to several sheets? Is it just to change certain commands in this to get what I´m looking for? I´m new to this, but I think it´s very interesting. I hope someone can help me to understand this a little bit better. //Thomas Sub InsertRowsAndFillFormulas(Optional vRows As Long) ' Documented: http://www.mvps.org/dmcritchie/excel/insrtrow.htm ' Insert Rows -- 1997/09/24 Mark Hill 'Dim vRows As Integer ' row selection based on active cell -- rev. 2000-09-02 David McRitchie ActiveCell.EntireRow.Select 'So you do not have to preselect entire row If vRows < 1 Then vRows = Application.InputBox(prompt:= _ "How many rows do you want to add?", Title:="Add Rows", _ Default:=1, Type:=1) 'type 1 is number If vRows = False Then Exit Sub End If 'if you just want to add cells and not entire rows 'then delete ".EntireRow" in the following line 'rev. 20001-01-17 Gary L. Brown, programming, Grouped sheets Dim sht As Worksheet, shts() As String, i As Integer ReDim shts(1 To Worksheets.Application.ActiveWorkbook. _ Windows(1).SelectedSheets.Count) i = 0 For Each sht In _ Application.ActiveWorkbook.Windows(1).SelectedShee ts Sheets(sht.Name).Select i = i + 1 shts(i) = sht.Name Selection.Resize(rowsize:=2).Rows(2).EntireRow. _ Resize(rowsize:=vRows).Insert Shift:=xlDown Selection.AutoFill Selection.Resize( _ rowsize:=vRows + 1), xlFillDefault On Error Resume Next 'to handle no constants in range -- John McKee 2000/02/01 ' to remove the non-formulas -- 1998/03/11 Bill Manville Selection.Offset(1).Resize(vRows).EntireRow. _ SpecialCells(xlConstants).ClearContents Next sht Worksheets(shts).Select End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Macro to insert and delete rows
Wrong macro to be working with to delete rows.
You would be better off starting at http://www.mvps.org/dmcritchie/excel...ow.htm#deleter for deleting rows. But the insert row macro does have the code to go through the grouped sheets so that is why you probably identified that one.. You do not say what you want to delete, or how you want to select which sheets to process -- grouped sheets is one way. Unless you can delete your rows with one instruction you normally start from the bottom to examine and delete the rows you do not want. Also see http://www.mvps.org/dmcritchie/excel/delempty.htm -- --- HTH, David McRitchie, Microsoft MVP - Excel [site changed Nov. 2001] My Excel Pages: http://www.mvps.org/dmcritchie/excel/excel.htm Search Page: http://www.mvps.org/dmcritchie/excel/search.htm "Jonsson" wrote in message ... Hi, I need help with two macro´s. One that insert rows and one that delete rows. I have found this one at David Mcritchie´s webpage to insert in active sheet How to get the same, but delete instead of insert? And how to change to several sheets? Is it just to change certain commands in this to get what I´m looking for? I´m new to this, but I think it´s very interesting. I hope someone can help me to understand this a little bit better. //Thomas Sub InsertRowsAndFillFormulas(Optional vRows As Long) ' Documented: http://www.mvps.org/dmcritchie/excel/insrtrow.htm ' Insert Rows -- 1997/09/24 Mark Hill 'Dim vRows As Integer ' row selection based on active cell -- rev. 2000-09-02 David McRitchie ActiveCell.EntireRow.Select 'So you do not have to preselect entire row If vRows < 1 Then vRows = Application.InputBox(prompt:= _ "How many rows do you want to add?", Title:="Add Rows", _ Default:=1, Type:=1) 'type 1 is number If vRows = False Then Exit Sub End If 'if you just want to add cells and not entire rows 'then delete ".EntireRow" in the following line 'rev. 20001-01-17 Gary L. Brown, programming, Grouped sheets Dim sht As Worksheet, shts() As String, i As Integer ReDim shts(1 To Worksheets.Application.ActiveWorkbook. _ Windows(1).SelectedSheets.Count) i = 0 For Each sht In _ Application.ActiveWorkbook.Windows(1).SelectedShee ts Sheets(sht.Name).Select i = i + 1 shts(i) = sht.Name Selection.Resize(rowsize:=2).Rows(2).EntireRow. _ Resize(rowsize:=vRows).Insert Shift:=xlDown Selection.AutoFill Selection.Resize( _ rowsize:=vRows + 1), xlFillDefault On Error Resume Next 'to handle no constants in range -- John McKee 2000/02/01 ' to remove the non-formulas -- 1998/03/11 Bill Manville Selection.Offset(1).Resize(vRows).EntireRow. _ SpecialCells(xlConstants).ClearContents Next sht Worksheets(shts).Select End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Insert/ Delete rows of a protected worksheet. | Excel Discussion (Misc queries) | |||
Excel 2007 - Cannot Delete or Insert Rows | Excel Discussion (Misc queries) | |||
How do you insert & delete rows in a protected worksheet? | Excel Worksheet Functions | |||
IF statements - use to insert/delete rows? | Excel Worksheet Functions | |||
Automatically insert/delete rows to be x apart | Excel Discussion (Misc queries) |