Mmaresma/ noviembre 17, 2016/ Excel Avanzado, Macros

Seguro que en más de una ocasión, cuando has estado programando en VBA, has sentido la tentación de colocar en un Array para ganar en velocidad de proceso, pero has decidido desestimarlo por no saber como empezar.

Tal vez te pueda ayudar este consejo en el que te muestro cómo puedes hacerlo con una sola línea de código.

En éste ejemplo, quiero transferir los datos existentes en el rango A1:A10 a un Array o matriz, usando código VBA.
array_1

La primera opción que se te puede venir a la mente, es la de utilizar un contador con un bucle for/next e ir alimentando la matriz. Este método es completamente válido y en muchas ocasiones el mejor método (pero no el único) y se realizaría así:

Sub MiArray()
Dim MiMatriz(1 To 10)
Dim i As Integer
For i = 1 To 10
MiMatriz(i) = Worksheets("Hoja1").Cells(1 + i).Value
Next i
End Sub

Lo que estoy haciendo es decirle a Excel que tengo una matriz llamada ‘MiMatriz’ con 10 filas. Luego, tengo que recorrer las 10 filas con el bucle for e ir asignando los valores a ‘MiMatriz’.

Si te gustan las cosas sin muchas vueltas, éste método te resultará más cómodo:

Dim MiMatriz As Variant

MiMatriz = Range("A2:A10")

Con estas dos líneas de código harás lo mismo pero sin darle más vueltas.

 

Fácil, ¿No?

Espero que os haya gustado, 🙂

Comentario

Comentario

Share this Post