Transferir los datos de un Rango a un Array

16/04/2006 - 11:20 por Adolfo Aparicio | Informe spam
Hola amigos.

En VBA para transferir el contenido de una matriz a un rango se utiliza
FormulaArray.
Me gustaría saber si existe algún método para hacer lo contrario, esto es,
transferir los datos de un rango a un Array.

Por ejemplo. Imaginar que el rango es B4:D13 y esta lleno de datos (algunos
numéricos y otros alfanuméricos). Queremos trasladar todos los datos a la
matriz X de dimensión X(1 to 10, 1 to 3).


Gracias por vuestra ayuda.

Adolfo Aparicio
http://www.excelavanzado.com

Preguntas similare

Leer las respuestas

#6 KL
16/04/2006 - 13:54 | Informe spam
Hola luka,

Si ningun problema:

Sub test()
Dim x
x = [B18:F28]
[H1]= x(1, 1)
End Sub

Saludos,
KL


"luka" <luka79arrobatelefonica.net> wrote in message news:uP4a%
Mostrar la cita
#7 Adolfo Aparicio
16/04/2006 - 16:05 | Informe spam
Siguiendo con el tema de la Matriz que toma los valores de un Rango. ¿Cómo se
puede saber la dimensión de la matriz creada?.

Me explico. Estoy creando una función, como esta:

Function MiRef(Rng)
Dim X
X = [Rng]
'..
End Function

Para tratar los elementos de la matriz debo conocer su dimensión. Por
ejemplo, sería interesante saber si tiene 10 filas y 4 columnas, o la
dimensión de la que se trate. ¿Cómo saber esto?.

Adolfo Aparicio
http://www.excelavanzado.com
#8 KL
16/04/2006 - 21:13 | Informe spam
Hola Adolfo,

Se me ocurren dos formas:

1) tomar las dimensiones del rango a la hora de asignar:

Function test1(rng As Range) As String
Dim Matriz, x As Long, y As Long
Matriz = rng
x = rng.Columns.Count
y = rng.Rows.Count
test1 = "Matriz ( 1 To " & y & " , 1 To " & x & ")"
End Function

2) tomar las dimensiones de la matriz:

Function test2(rng As Range) As String
Dim Matriz, x As Long, y As Long
Matriz = rng
x = UBound(Matriz, 2)
y = UBound(Matriz, 1)
test2 = "Matriz ( 1 To " & y & " , 1 To " & x & ")"
End Function


Saludos,
KL


"Adolfo Aparicio" wrote in message news:
Mostrar la cita
#9 Adolfo Aparicio
16/04/2006 - 23:07 | Informe spam
Perfecto KL, como siempre.

Gracias por tu ayuda.

Adolfo Aparicio
http://www.excelavanzado.com
Ads by Google
Search Busqueda sugerida