View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
RB Smissaert RB Smissaert is offline
external usenet poster
 
Posts: 2,452
Default loop to delete rows...

One option:

Sub delRows()

Dim i As Long
Dim LR As Long

LR = Cells(1).End(xlDown).Row

For i = LR To 2 Step -1
If InStr(1, Cells(i, 1), "Total", vbTextCompare) 0 Then
If Left(Cells(i, 1), 5) = "Total" Then
If Not Left(Cells(i - 1, 1), 8) = "SubTotal" Then
Rows(i).Delete
End If
Else
Rows(i).Delete
End If
End If
Next

End Sub


RBS


"Froglegz" wrote in message
...
here's the issue: I'm trying to delete all the rows which
start with "total:" and "subtotal:" in column A. I had to
use 2 loops because when there is a subtotal row directly
followed by a total row, the total row is "skipped". I'm
not sure that I'm making myself very clear but any help
would be appreciated... Ideally I'd like to replace the 2
loops by 1.


Here's what I have so far:

sub delRows()
Dim c As Range
For Each c In Range(Range("a1"), Range("a1").End
(xlDown)).Cells
If c.Text Like "SubTotal*" Then
c.EntireRow.Delete
End If
Next c

For Each c In Range(Range("a1"), Range("a1").End
(xlDown)).Cells
If c.Text Like "Total*" Then
c.EntireRow.Delete
End If
Next c
end sub