Tente isso. Observe que você precisa alterar o nome da planilha e o endereço da célula superior esquerda para corresponder aos seus dados.
Sub RemoveRows()
Dim rng1 As Range, sht1 As Worksheet
Dim iRow As Long
'Change sheet name and top-left cell address to match your data.
Set sht1 = Sheets("Sheet1")
Set rng1 = sht1.Range("A1")
For iRow = rng1.End(xlDown).Row To rng1.Row Step -1
If Cells(iRow, 1) = 4 Then
If Application.WorksheetFunction.CountIf(rng1.Resize(rng1.End(xlDown).Row, 1).Offset(0, 1), Cells(iRow, 2)) > 1 Then
Cells(iRow, 1).EntireRow.Delete
End If
End If
Next iRow
End Sub