Delete specific rows – in bulk

Procedure that deletes pecificrows in bulk
Accepts the following parmeters:
Sought value
Range to evaluates
Equals; True or False
Author: michael@excelexperts.co.uk

Sub DeleteSpecificRowsV1(vSoughtValue As Variant, rngToEvaluate As Range, sEquals As Boolean)

    Dim rngCell As Range
    Dim rngToDelete As Range
    
    If sEquals = True Then
        For Each rngCell In rngToEvaluate
            If rngCell = vSoughtValue Then
                If rngToDelete Is Nothing Then
                    Set rngToDelete = rngCell
                Else
                    Set rngToDelete = Union(rngToDelete, rngCell)
                End If
            End If
        Next rngCell
    Else
        For Each rngCell In rngToEvaluate
            If rngCell <> vSoughtValue Then
                If rngToDelete Is Nothing Then
                    Set rngToDelete = rngCell
                Else
                    Set rngToDelete = Union(rngToDelete, rngCell)
                End If
            End If
        Next rngCell
    End If

    On Error Resume Next
    rngToDelete.EntireRow.Delete
    On Error GoTo 0

    Set rngToDelete = Nothing
    Set rngToEvaluate = Nothing

End Sub

Address

Brookfield,
55 Heath Drive
Brookwood, Surrey
GU24 0HQ England

Scroll to Top