sábado, 12 de octubre de 2013

Ordenar un millón de valores

Descargue el fichero: Ordena_un_millon.xlsm

Podemos ordenar un millón de valores numéricos con VBA en un tiempo bastante aceptable.

En mi portatil (i7, 8Gb RAM) cada una de las dos macros tarda 2 segundos aproximadamente.


Sub genera_aleatorios_en_columna_A()
Dim i As Long
Dim R As Range
Dim A
Set R = Range("A1:A1000000")
A = R
Randomize
For i = 1 To 1000000
   A(i, 1) = Rnd
Next i
R = A
End Sub

Sub ordena_columna_A()
Columns("A:A").Sort key1:=Range("A1"), _
      order1:=xlAscending, Header:=xlNo
End Sub


Nota

La línea

R = A

equivale a

Range("A1:A1000000") = A

También puede interesarle ...