Bem-vindo ao superusuário.
Isso é bastante simples, tente usar o código abaixo. No entanto, certifique-se de substituir "sheet1" por qualquer folha numérica que seja sua fonte.
Sub compareresult()
Dim row1 As Integer
Dim row2 As Integer
row2 = 1
For row1 = 8 To 500
If sheet1.Cells(row1, 11).value > sheet1.Cells(row1, 9).value Then
sheet1.Cells(row1, 1).EntireRow.Copy Sheets(11).Cells(row2, 1)
row2 = row2 + 1
End If
Next row1
End Sub
Coisas para perceber:
- Não usamos seleções ou ativações, o que é mais rápido.
- Copiamos e colamos em uma declaração, o que é mais rápido.
- Alteramos a linha de destino uma por vez, o que torna nosso código mais rápido.
- Nós nos movemos para as folhas de origem e de destino por número, o que é mais seguro.
- Usamos nomes de variáveis significativos, o que ajuda na legibilidade do nosso código.