[RESUELTO] Introducir datos o poblar rango celdas con valores de un array
Publicado: Lun Abr 05, 2021 8:37 pm
¿Cómo introducir valores en rangos de celdas pertenecientes a una sola columna?. ¿Como Poblar un rango de celdas de una hoja con un array Bidimensional y con un array o matriz Unidimensional?
Tengo un array unidimensional con 7 valores y me gustaria introducirlos en la Columna A de forma HORIZONTAL:
Como ejemplo he puesto 2 arrays.
Uno es un arrayBidimensional y la introduccion de valores funciona de maravilla. Las celdas se poblan bien con el método setData() o setDataArray()
El arrayUnidimensional cuando lo poblo en una fila ("C6:I6") tambien se introducen bien los datos, porque se poblan de forma Horizontal.
Sin embargo cuando voy a poblar este mismo array unidimensional, en una columna ("A1:A7") salta un error y es:
Se ha producido una excepción
Type: com.sun.star.uno.RuntimeException
Message: .
Vean el ejemplo de aqui abajo. El macro funciona, y se ejecuta bien, pero al llegar a la linea citada, salta un error y no puede poblar las celdas de la columna.
¿Alguién sabe si existe algun método para poder poblar las celdas en modo Vertical, o hay que hacer un bucle con For To Next?
Esta es la linea donde sale el Error: oRango3.setData( arrayUnidimensional ) 'Error en este Rango.
GRACIAS !!
Tengo un array unidimensional con 7 valores y me gustaria introducirlos en la Columna A de forma HORIZONTAL:
Como ejemplo he puesto 2 arrays.
Uno es un arrayBidimensional y la introduccion de valores funciona de maravilla. Las celdas se poblan bien con el método setData() o setDataArray()
El arrayUnidimensional cuando lo poblo en una fila ("C6:I6") tambien se introducen bien los datos, porque se poblan de forma Horizontal.
Sin embargo cuando voy a poblar este mismo array unidimensional, en una columna ("A1:A7") salta un error y es:
Se ha producido una excepción
Type: com.sun.star.uno.RuntimeException
Message: .
Vean el ejemplo de aqui abajo. El macro funciona, y se ejecuta bien, pero al llegar a la linea citada, salta un error y no puede poblar las celdas de la columna.
¿Alguién sabe si existe algun método para poder poblar las celdas en modo Vertical, o hay que hacer un bucle con For To Next?
Esta es la linea donde sale el Error: oRango3.setData( arrayUnidimensional ) 'Error en este Rango.
GRACIAS !!
Código: Seleccionar todo
Sub Introducir7(mDatos2 as Variant)
'Poblar celdas en Vertical y Horizontal procedente los datos de un array.
Dim oHojaActiva As Object
Dim oRango1 As Object
Dim oRango2 As Object
Dim oRango3 As Object
Dim arrayBidimensional(2) as Variant
Dim arrayUnidimensional(0) as Variant
arrayBidimensional(0) = Array(1,2,3)
arrayBidimensional(1) = Array(4,5,6)
arrayBidimensional(2) = Array(7,8,9)
arrayUnidimensional(0) = Array(1,2,3,4,5,6,7)
oHojaActiva = ThisComponent.getCurrentController().getActiveSheet()
oRango1 = oHojaActiva.getCellRangeByName("C1:E3")
oRango2 = oHojaActiva.getCellRangeByName("C6:I6")
oRango3 = oHojaActiva.getCellRangeByName("A1:A7")'Rango de una columna
'Insertamos la matriz completa
oRango1.setData( arrayBidimensional )
oRango2.setData( arrayUnidimensional )
oRango3.setData( arrayUnidimensional ) 'Error en este Rango para poblar el array Unidimensional de forma Vertical.
End Sub