[RESUELTO] CopiarCeldaEnCeldasCombinadasSinDeshacerFormato

Discute sobre la aplicación de hojas de cálculo
Responder
gamor
Mensajes: 5
Registrado: Mar Abr 10, 2018 3:48 pm

[RESUELTO] CopiarCeldaEnCeldasCombinadasSinDeshacerFormato

Mensaje por gamor »

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

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
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Copiar celda en celdas combinadas sin deshacer el format

Mensaje por mauricio »

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
gamor
Mensajes: 5
Registrado: Mar Abr 10, 2018 3:48 pm

Re: Copiar celda en celdas combinadas sin deshacer el format

Mensaje por gamor »

Adjunto archivo de ejemplo.

Gracias.
Adjuntos
facturas.ods
Subo archivo ejemplo
(22.01 KiB) Descargado 120 veces
LO 5.0.3.2 en LinuxMint 17.3
Avatar de Usuario
fornelasa
Mensajes: 3268
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

Mensaje por fornelasa »

Un posible ejemplo:
Saludos, Federico.
Adjuntos
facturas.ods
Copiar sin formatos.
(23.67 KiB) Descargado 123 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!
gamor
Mensajes: 5
Registrado: Mar Abr 10, 2018 3:48 pm

Re: Copiar celda en celdas combinadas sin deshacer el format

Mensaje por gamor »

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

Mensaje por gamor »

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
Avatar de Usuario
fornelasa
Mensajes: 3268
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

Mensaje por fornelasa »

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) Descargado 128 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!
gamor
Mensajes: 5
Registrado: Mar Abr 10, 2018 3:48 pm

Re: Copiar celda en celdas combinadas sin deshacer el format

Mensaje por gamor »

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
Responder