[RESUELTO] Problema al Mudar Macro de Excel a Libreoffice

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
nicodavid
Mensajes: 10
Registrado: Vie May 31, 2019 8:37 pm

[RESUELTO] Problema al Mudar Macro de Excel a Libreoffice

Mensaje por nicodavid »

Buenos dias, estoy teniendo problemas para mudar una macro de Excel a Libreoffice, mas que nada me esta costando la funcion de ultima fila, es el mayor inconveniente que se me presenta, ya he mudado varias macros de excel a libO, pero esta sinceramente no le encuentro la vuelta a esa funcion. Pego el codigo en de Excel para que vean de que va la macro.

Saludos

Sub PINFORME()
'
' PINFORME Macro
' CON ESTE MACRO COPIA LO DEL DIA EN EL INFORME
'

i = 5

u_STOP = 0
Do While u_STOP = 0
Ultima = Sheets("INSP T TERMINADO").Cells(Rows.Count, "E").End(xlUp).Row
Cells(Ultima, 5).Select
nRow = Ultima + 1
If Sheets("Demo").Cells(i, 30) = Sheets("INSP T TERMINADO").Cells(2, 7) Then
Sheets("INSP T TERMINADO").Cells(nRow, 4) = Sheets("Demo").Cells(i, 5)
Sheets("INSP T TERMINADO").Cells(nRow, 5) = Sheets("Demo").Cells(i, 6)
Sheets("INSP T TERMINADO").Cells(nRow, 6) = Sheets("Demo").Cells(i, 7)
Sheets("INSP T TERMINADO").Cells(nRow, 7) = Sheets("Demo").Cells(i, 8)
Sheets("INSP T TERMINADO").Cells(nRow, 8) = Sheets("Demo").Cells(i, 9)
Sheets("INSP T TERMINADO").Cells(nRow, 9) = Sheets("Demo").Cells(i, 10)
Sheets("INSP T TERMINADO").Cells(nRow, 10) = Sheets("Demo").Cells(i, 11)
Sheets("INSP T TERMINADO").Cells(nRow, 11) = Sheets("Demo").Cells(i, 12)
Sheets("INSP T TERMINADO").Cells(nRow, 30) = Sheets("Demo").Cells(i, 31)
Sheets("INSP T TERMINADO").Cells(nRow, 31) = Sheets("Demo").Cells(i, 32)
Sheets("INSP T TERMINADO").Cells(nRow, 32) = Sheets("Demo").Cells(i, 33)
Sheets("INSP T TERMINADO").Cells(nRow, 33) = Sheets("Demo").Cells(i, 34)
Sheets("INSP T TERMINADO").Cells(nRow, 34) = Sheets("Demo").Cells(i, 35)
Sheets("INSP T TERMINADO").Cells(nRow, 35) = Sheets("Demo").Cells(i, 36)
Sheets("INSP T TERMINADO").Cells(nRow, 36) = Sheets("Demo").Cells(i, 37)
Sheets("INSP T TERMINADO").Cells(nRow, 37) = Sheets("Demo").Cells(i, 38)
Sheets("INSP T TERMINADO").Cells(nRow, 38) = Sheets("Demo").Cells(i, 39)
Sheets("INSP T TERMINADO").Cells(nRow, 39) = Sheets("Demo").Cells(i, 40)
End If

If Sheets("Demo").Cells(i, 8) = "" Then u_STOP = 1

i = i + 1

Loop




End Sub
Última edición por nicodavid el Vie Sep 20, 2019 1:21 pm, editado 1 vez en total.
OpenOffice 3.1 / Windows
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Problema al Muda Macro de Excel a Libreoffice

Mensaje por PepeOooSevilla »

Hola.
¿Podrías subir un archivo de ejemplo? De esta manera te podremos ayudar más fácilmente. Y, por favor, sin datos personales, que este es un Foro público.
Este archivo debe contener como mínimo dos hojas: "INSP T TERMINADO" y "Demo". Deben figurar también los tipos de datos que van a copiarse (texto, fechas, números, fórmulas, ...). Y cualquier otra información que consideres relevante. Cuanta más información facilites, las respuestas se ajustarán mejor a tus necesidades.
Si no sabes cómo subir un archivo, consulta Cómo adjuntar un archivo.
  • Hay que tener en cuenta que los voluntarios del Foro no siempre tenemos tiempo para, partiendo de cero, crear un archivo que, al final, no se corresponderá exactamente con el problema planteado.
Saludos cordiales.
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
nicodavid
Mensajes: 10
Registrado: Vie May 31, 2019 8:37 pm

Re: Problema al Muda Macro de Excel a Libreoffice

Mensaje por nicodavid »

Buendos dias Pepe, ahi adjunto el ejemplo del archivo, lo que hace la macro es tomar los datos que tengan la fecha diaria e ir copiandolos en la hoja INSP T TERMINADO, en la ultima fila libre y asi sucesivamente hasta que no haya mas direcciones con la fecha de hoy.
Adjuntos
ejemplo informe.ods
adjunto el archivo
(62.46 KiB) Descargado 190 veces
OpenOffice 3.1 / Windows
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Problema al Muda Macro de Excel a Libreoffice

Mensaje por FJCC-ES »

Código: Seleccionar todo

Sub PINFORME()
'
' PINFORME Macro
' CON ESTE MACRO COPIA LO DEL DIA EN EL INFORME
'
oSheets = ThisComponent.Sheets
INSP = oSheets.getByName("INSP T TERMINADO")
DEMO = oSheets.getByName("Demo")
Col_E = INSP.getColumns.getByName("E")
CeldasOcupadas = Col_E.queryContentCells(7)
Regiones = CeldasOcupadas.Count
nRow = CeldasOcupadas.RangeAddresses(Regiones - 1).EndRow + 1

i = 4

u_STOP = 0
Do While u_STOP = 0

  If Demo.getCellByPosition(29, i).Value = INSP.getCellByPosition(6, 1).Value Then
    INSP.getCellRangeByPosition(3, nRow, 10, nRow).DataArray = DEMO.getCellRangeByPosition(4, i, 11, i).DataArray
    INSP.getCellRangeByPosition(29, nRow, 38, nRow).DataArray = DEMO.getCellRangeByPosition(30, i, 39, i).DataArray
    nRow = nRow + 1
  End If
  
  i = i + 1
  If Demo.getCellByPosition(7,i).String = "" Then u_STOP = 1

Loop

End Sub
nicodavid
Mensajes: 10
Registrado: Vie May 31, 2019 8:37 pm

Re: Problema al Muda Macro de Excel a Libreoffice

Mensaje por nicodavid »

MUCHISIMASSSSSSSSSSS GRACIIASSSSSSSSSSSSSS FFJCC, era justo lo que necesitaba , sinceramente soy nuevo en libreoffice y me estaba volviendo loco, de nuevo muchas gracias
ahora marco como Resuelto el Tema.

Saludosssssss
OpenOffice 3.1 / Windows
Responder