Para torná-lo mais rápido, tente isto:
Sub Test()
Dim i As Long
For i = 4 To 800
If Sheets("Results").Cells(i, 1).Value = "" Then
Rows(i & ":" & Rows.Count).EntireRow.Hidden = True
Rows("1:" & i - 1).EntireRow.Hidden = False
Exit Sub
End If
Next
End Sub
verifica a primeira célula na linha A sem texto e oculta todas as linhas abaixo dela (inclui a célula encontrada) e torna todas as células visíveis sobre ela (excluindo a célula encontrada)
isso também aceita células como "sem texto" com fórmulas com "" resultado
para ocultar apenas a partir da alteração real da célula vazia
If Sheets("Results").Cells(i, 1).Value = "" Then
para
If isempty(Sheets("Results").Cells(i, 1).Value) Then
também quando apenas se escondendo até a linha 800 mudar
Rows(i & ":" & Rows.Count).EntireRow.Hidden = True
para
Rows(i & ":800").EntireRow.Hidden = True