Thread: Deleting Rows
View Single Post
  #10   Report Post  
Posted to microsoft.public.excel.programming
Norman Jones Norman Jones is offline
external usenet poster
 
Posts: 5,302
Default Deleting Rows

Hi KJ,

Try:

Sub DelRows()
Dim delRange As Range
Dim rCell As Range
Dim vArr As Variant
Dim blDelete As Boolean

vArr = Array(428, 491, 492, 493, 495, 496)

With ActiveSheet
For Each rCell In Intersect(.UsedRange, .Columns(7))
blDelete = False
On Error Resume Next
blDelete = Application.Match(rCell.Value, vArr, 0)
On Error GoTo 0
If blDelete Then
If Not delRange Is Nothing Then
Set delRange = Union(delRange, rCell.EntireRow)
Else
Set delRange = rCell.EntireRow
End If
End If
Next rCell
End With
If Not delRange Is Nothing Then
delRange.Delete
Else
MsgBox "No rows deleted"
End If
End Sub

---
Regards,
Norman



"KJ Dahl" wrote in message
...
Hi everyone,
I seem to be stuck again with a problem that probably is very easy.
The data in my sheet is spread over 7 Columns and about 200-300 Rows.
I want to loop through column 7 and delete the entire row if the value is
different to 6 possible values.
So if the value in column 7 is different from for example 428, 491, 492,
493, 495 and 496 then the entire row should be deleted.
I have tried putting these values in an array and do a comparison. That
didn't work out.
Neither did a comparison with 5 OR's.

Hope this is understandable, please let me know if you want to see the
code I've used.

Thanks for your help

KJ