Optimizar macro VBA para disminuir tiempo de ejecución

Buenas tardes, solicito de la ayuda de algún experto para optimizar una macro que tengo, ella realiza muy buen su tarea. Pero su tiempo de ejecución en mi computador supera el minuto aproxmente y no se si sea posible optimizarla para que lo haga en un menor tiempo. Ya que en ocasiones me han ayudado con otras y si se ha podido.
Lo que hace la macro básicamente es del rango del lado derecho donde están los números separados, los copia y pega en el segundo rango de manera que quedan juntos. Debo de informar que cada rango consta de 1.000 columnas. Y la macro ejecuta con los datos que tiene hasta el final, en este caso tiene 2.000 filas con datos. Pero tal vez pueda hacerlo en menos tiempo ya que solo básicamente copia y pega simplemente eliminando las celdas vacías.
 Sub pegarP()
With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
End With
With Range("A10").CurrentRegion 'CELDA INICIAL
    f = .Rows.Count
    c = 1000 'NUMERO DE CELDAS
End With
Set numeros = Range("A10").Resize(f - 1, c) 'CELDA INICIAL
Set resultado = Range("ALQ10").Resize(f - 1, c) 'CELDA DONDE EMPIEZA A PEGAR
matriz = resultado
For i = 1 To f - 1
x = 1
    For j = 1 To c
        numero = numeros.Cells(i, j)
        If IsNumeric(numero) Then
            matriz(i, x) = numero
            x = x + 1
    End If
    Next j
Next i
Range(resultado.Address) = matriz
With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
End With
End Subesta es la macro que estoy usando actualmente, tal vez si haya que incluirle o excluirle algo, o una nueva que ejecute en menor tiempo seria genial, me ahorraria mucho tiempo porque la macro se reejecuta cerca de 2.000 veces entonces alli se demora horas en realizar su tarea.


 
        
