[RESUELTO] Copiar filas de una hoja a otra

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
agarcia
Mensajes: 2
Registrado: Lun Ago 23, 2010 4:02 pm

[RESUELTO] Copiar filas de una hoja a otra

Mensaje por agarcia »

Hola a todos!!!

Vengo de escribir macros sencillas en VBA y aún me hago un pequeño lío con el BASIC de OpenOffice. Estoy haciendo una macro de Calc que realiza lo siguiente:

- De la hoja1, busca en la columna 1 un valor determinado.
- Si el valor coincide con el que toca, debe copiar esa fila a la hoja 2

y así hasta el último registro de la hoja 1. De momento sólo he conseguido que escriba los encabezados. En Excel calculaba cuál era la última fila con datos y con un LOOP chequeaba cada fila, pero aquí no sé muy bien cómo estructurarlo ¿Alguien podría echarme una mano?

Saludos y gracias por adelantado,

Alex
Última edición por agarcia el Mar Ago 24, 2010 11:00 am, editado 1 vez en total.
OpenOffice 3.1 en Windows XP
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Copiar filas de una hoja a otra

Mensaje por mauricio »

Hola...

Si no lo has hecho aún por favor lee la Guía de supervivencia

En el siguiente tema respondí una pregunta similar: http://user.services.openoffice.org/es/ ... 556#p11782
Solo te resta aplicar la copia al resultado de la búsqueda, en mi libro trato ampliamente este tema: http://user.services.openoffice.org/es/ ... =50&t=1545

Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
agarcia
Mensajes: 2
Registrado: Lun Ago 23, 2010 4:02 pm

Re: Copiar filas de una hoja a otra

Mensaje por agarcia »

Sí, me ha sido de mucha utilidad. He probado usando tu libro y funciona. Tengo una cuestión secundaria...¿Cómo puedo averiguar hasta qué línea de una columna existen datos?

Saludos y gracias de nuevo,
OpenOffice 3.1 en Windows XP
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Copiar filas de una hoja a otra

Mensaje por mauricio »

Hola...

Esa es otra pregunta, por favor, lee la guía de supervivencia...

En el mismo tema que te mostré y viene en el libro, muestro como hacer eso:

Código: Seleccionar todo


 oDestino = ThisComponent.getSheets.getByName( "Hoja1" ).getCellRangeByName( "C1" )   
 lFilaLibre = FilaLibre( oDestino )

Function FilaLibre( Celda As Object ) As Long
Dim oCursor As Object

        oCursor = Celda.getSpreadSheet.createCursorByRange( Celda )
        If Celda.getString <> "" Then
           oCursor.gotoEnd()
           FilaLibre = oCursor.getRangeAddress.EndRow + 1 
        Else
           FilaLibre = oCursor.getRangeAddress.EndRow 
        End If
       
End Function
Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder