I am using the following code to remove all rows on a worksheet with a zero value in column H. Because the worksheet has thousands of entries, this loop is taking forever! Any suggestions on how to streamline this? Thanks!!

Randi Lee

Sub Delete_Row_w0()
    Dim Firstrow As Long
    Dim LastRow As Long
    Dim Lrow As Long
    Dim CalcMode As Long
    Dim ViewMode As Long

    With Application
        CalcMode = .Calculation
        .Calculation = xlCalculationManual
        .ScreenUpdating = False
    End With
    
    With Sheets(1)
        .Select
        ViewMode = ActiveWindow.View
        ActiveWindow.View = xlNormalView
        .DisplayPageBreaks = False
        Firstrow = .UsedRange.Cells(1).Row
        LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
        For Lrow = LastRow To Firstrow Step -1

            With .Cells(Lrow, "H")

                If Not IsError(.Value) Then

                    If .Value = 0 Then .EntireRow.Delete

                End If

            End With

        Next Lrow

    End With

    ActiveWindow.View = ViewMode
    With Application
        .Calculation = CalcMode
    End With
    
End Sub