Página 1 de 1
error en el metodo paste de un rango
Publicado: Lun Feb 04, 2019 11:07 pm
por ppinedo
hola a todos,
estoy trabajando con una sencilla macro en Calc pero por mas que examino el codigo no veo donde esta el error, siempre obtengo el mismo
error de ejecucion en el metodo paste:
Código: Seleccionar todo
option vbasupport 1
Sub prueba()
Sheets("H1").select
rows(2).copy
Sheets("H2").paste 'ERROR ??
End Sub
¿Alguien me puede indicar cual es eror?
Gracias, saludos
Re: error en el metodo paste de un rango
Publicado: Mar Feb 05, 2019 12:49 am
por FJCC-ES
El error ocurre porque OpenOffice no puede traducir el código de VBA correctamente. Si quiere escribir macros en OpenOffice, debe estudiar el API (Application Programming Interface) de OpenOffice y usar OpenOffice Basic o Python.
Este código copia las primeras dos filas de la hoja H1 y pega las filas en la hoja H2.
Código: Seleccionar todo
oHojaH1 = ThisComponent.Sheets.getByName("H1")
oHojaH2 = ThisComponent.Sheets.getByName("H2")
oFilas1y2_H1 = oHojaH1.getCellrangeByName("A1:AMJ2")
oCeldaH2_A1 = oHojaH2.getCellrangeByName("A1")
oHojaH1.copyRange(oCeldaH2_A1.CellAddress, oFilas1y2_H1.RangeAddress)
Re: error en el metodo paste de un rango
Publicado: Mar Feb 05, 2019 2:55 am
por fornelasa
Ejemplo para OpenOffice:
No se alcanza a distinguir que deseas hacer con esa macro que ni en Excel funciona.
Si el cursor (indicador de celda) lo dejaste en cualquier celda de la columna A de la hoja H2 esto debe funcionar.
Código: Seleccionar todo
Option VBASupport 1
Sub Prueba()
Sheets("H1").Rows(2).Copy
Sheets("H2").Activate
ActiveSheet.Paste
End Sub
Re: error en el metodo paste de un rango
Publicado: Mié Feb 06, 2019 3:22 pm
por ppinedo
fornelasa escribió:Ejemplo para OpenOffice:
No se alcanza a distinguir que deseas hacer con esa macro que ni en Excel funciona.
Si el cursor (indicador de celda) lo dejaste en cualquier celda de la columna A de la hoja H2 esto debe funcionar.
Código: Seleccionar todo
Option VBASupport 1
Sub Prueba()
Sheets("H1").Select
Rows(2).Copy
Sheets("H2").Activate
ActiveSheet.Paste
End Sub
@fornelasa, te garantizo que
en excel2016 funciona perfectamente, la he probado y me pega perfectamente la fila 2 en la hoja H2.
He probado tu macro en LibO(no se si tambien es para libo o sólo para oo) y funciona!!!
¿Que diferencia hay entre tu macro y la mia aparte de que la tuya realiza un paso intermedio(.activate) y por tanto es algo mas lenta?
@FJCC-ES, la verdad es que mi macro
no me da error como tal, simplemente no me funciona el metodo paste, no pega nada en la hoja H2. Supongo que si no interpetara bien el codigo o no existiera algun objeto/metodo me daria un error pero no es este caso
Re: error en el metodo paste de un rango
Publicado: Mié Feb 06, 2019 7:45 pm
por fornelasa
te garantizo que en excel2016 funciona perfectamente
Si, es cierto, coincido, ya lo verifiqué.
He probado tu macro en LibOy funciona!!!
A mi no me funciona en LiobO, tal vez porque estas pruebas las he hecho con las versiones de mi firma (Win 7). En OpenOffice me funciona normalmente.
¿Que diferencia hay entre tu macro y la mía aparte de que la tuya realiza un paso intermedio(.activate) y por tanto es algo mas lenta?
Hablando de VBA OpenOffice no soporta los cambios mas actuales de Excel como la versión 2016, además OpenOffice no es totalmente compatible con Excel.