Hello, I am having some trouble remembering how to do this. I've written this code and it works if I run it multiple times.

Is there a more efficient way to write this code and it not completely lock excel for 10 minutes?

Sub MrClean()
Application.ScreenUpdating = False
Dim baseln As Range
For Each baseln In ActiveSheet.Range("G1:G" & Cells(Rows.Count, "G").End(xlUp).Row)

If baseln.Value = "SOL_Hi" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "Critical_Hi" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "Standard_Hi" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "Target_Hi" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "Target_Lo" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "Standard_Lo" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "Critical_Lo" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "Target" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "Standard" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "Critical" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "SOL_Lo" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
ElseIf baseln.Value = "SOL" And baseln.Offset(0, 1).Value = "~" Then
        baseln.EntireRow.delete
End If
   Next baseln
   
Application.ScreenUpdating = True
End Sub