[RESUELTO] CopiarCeldaEnCeldasCombinadasSinDeshacerFormato

Discute sobre la aplicación de hojas de cálculo

[RESUELTO] CopiarCeldaEnCeldasCombinadasSinDeshacerFormato

Notapor gamor » Mar Abr 10, 2018 4:00 pm

Antes de nada decir que soy totalmente inexperto en el uso de las macros. He conseguido realizar alguna usando copia/pega de codigo que encuentro por los foros y que a veces consigo adaptar a mis necesidades.

Pero hoy he llegado a un punto en que no encuentro lo que necesito.

Tengo un documento con un listado de facturas con sus datos correspondientes fecha, importe, proveedor, numero, etc y he conseguido adaptar codigo para una macro para que una vez me situe en el nº de factura al ejecutarla la copie en otra hoja del documento donde tengo un formato de hoja para imprimir con cierto datos de la factura seleccionada. Hasta aquí todo bien.

El problema viene que en el listado de las factura el nº de factura esta en una sola celda pero en donde se tiene que copiar es una hoja cuyas celdas tienen un ancho de 2 y su destino es una combinación de celdas que al ejecutar la macro deshace esa combinación y copiando el dato en la celda AJ13.

Este es el código de la macro:

Código: Seleccionar todo   Expandir vistaContraer vista
REM  *****  BASIC  *****

'Procedimiento para copiar la selección actual
Sub CopiarSeleccion()
'Declaración de variables
Dim oDoc As Object
Dim oHojas As Object
Dim oHojaOrigen As Object
Dim oHojaDestino As Object
Dim oOrigen As Object
Dim oDestino As Object

   oDoc = ThisComponent 'Documento actual
   oHojas = oDoc.getSheets() 'Colección de hojas del documento
   oHojaOrigen = oHojas.getByName( "Hoja1" ) 'Asignamos la variable a la hoja con nombre "Hoja1"
   oHojaDestino = oHojas.getByName( "Hoja_entrada" ) 'Idem líena anterior
   
   'Capturamos la selección actual en la variable oOrigen
   oOrigen = oDoc.getCurrentSelection()
   
   'Seleccionamos la celda donde se pegarán los datos, la cual la tomamos en este ejemplo de la celda AJ13.
   oDestino = oHojaDestino.getCellRangeByName( "AJ13" )
   'Si lo queremos dejar estático usamos la siguiente línea:
   'oDestino = oHojaDestino.getCellRangeByName( "A1" )
   'Podemos sustituír la celda A1 por cualquier otra
   
   'Procedemos a copiar el rango
   oHojaOrigen.copyRange( oDestino.getCellAddress, oOrigen.getRangeAddress() )
   'Accedemos a los datos copiados
   oDoc.getCurrentController.select( oDestino )
End Sub



Gracias por la ayuda.
Última edición por gamor el Jue Abr 12, 2018 5:18 pm, editado 1 vez en total
LO 5.0.3.2 en LinuxMint 17.3
gamor
 
Mensajes: 5
Registrado: Mar Abr 10, 2018 3:48 pm

Re: Copiar celda en celdas combinadas sin deshacer el format

Notapor mauricio » Mar Abr 10, 2018 4:16 pm

Hola...

Un archivo de ejemplo ayudará a quien quiera ayudarte a no partir de cero.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5874
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Copiar celda en celdas combinadas sin deshacer el format

Notapor gamor » Mar Abr 10, 2018 4:39 pm

Adjunto archivo de ejemplo.

Gracias.
Adjuntos
facturas.ods
Subo archivo ejemplo
(22.01 KiB) 32 veces
LO 5.0.3.2 en LinuxMint 17.3
gamor
 
Mensajes: 5
Registrado: Mar Abr 10, 2018 3:48 pm

Re: Copiar celda en celdas combinadas sin deshacer el format

Notapor fornelasa » Mar Abr 10, 2018 6:57 pm

Un posible ejemplo:
Saludos, Federico.
Adjuntos
facturas.ods
Copiar sin formatos.
(23.67 KiB) 35 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3223
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Copiar celda en celdas combinadas sin deshacer el format

Notapor gamor » Mié Abr 11, 2018 9:34 am

He bajado el archivo y no me funciona el botón. Al pulsarlo lo único que hace es abrir Hoja_entrada. He ido a mirar el código de la macro y no encuentro nada, todo aparece vacío.
LO 5.0.3.2 en LinuxMint 17.3
gamor
 
Mensajes: 5
Registrado: Mar Abr 10, 2018 3:48 pm

Re: Copiar celda en celdas combinadas sin deshacer el format

Notapor gamor » Mié Abr 11, 2018 9:37 am

Perdón, acabo de encontrar el código. Pero me sigue sin funcionar, me coloco en otro número de factura y al pulsar el botón que ejecuta la macro lo único que hace es cambiar a Hoja_entrada ¿¿??
LO 5.0.3.2 en LinuxMint 17.3
gamor
 
Mensajes: 5
Registrado: Mar Abr 10, 2018 3:48 pm

Re: Copiar celda en celdas combinadas sin deshacer el format

Notapor fornelasa » Mié Abr 11, 2018 4:26 pm

ummmm, es cierto. En OpenOffice funciona normalmente.
Es LibreOffice con sus fallas en temas básicos.

Saludos, Federico.
Adjuntos
facturas (2).ods
Copiar
(19.6 KiB) 34 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3223
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Copiar celda en celdas combinadas sin deshacer el format

Notapor gamor » Mié Abr 11, 2018 4:37 pm

Muchas gracias, le echaré un vistazo para ver si entiendo un poco lo que hace y aprender algo.
LO 5.0.3.2 en LinuxMint 17.3
gamor
 
Mensajes: 5
Registrado: Mar Abr 10, 2018 3:48 pm


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 10 invitados