[RESUELTO] Conocer el valor del color de fondo de celda

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

[RESUELTO] Conocer el valor del color de fondo de celda

Notapor iagodb » Mié May 30, 2018 3:45 pm

Buenas tardes.

Me gustaría disponer de una fórmula que me diga de qué color es el fondo de una celda. Solamente he escrito un par de macros sencillas antes por lo que no tengo mucha experiencia. Os adjunto una captura del error que obtengo al intentar utilizar la fórmula a ver si tiene sentido para alguien

Imagen

Buscando el error en Google el primer resultado es un mensaje de este mismo foro https://forum.openoffice.org/es/forum/viewtopic.php?t=11545&p=50504 y ahí se atribuye el error a estar ejecutando el macro desde el IDE pero yo lo hago desde el propio documento, no desde el IDE. Simplemente escribo en una celda "=defcolor(referencia_de_celda)" y me salta el error.

Gracias por adelantado.
Última edición por iagodb el Jue May 31, 2018 8:20 am, editado 4 veces en total
Libreoffice 6.1.5.2 (x64) / Windows 10 Pro
Avatar de Usuario
iagodb
 
Mensajes: 71
Registrado: Lun Jul 18, 2016 11:03 am

Re: Conocer el valor del color de fondo de celda

Notapor FJCC-ES » Mié May 30, 2018 5:14 pm

El archivo adjunto contiene esta macro
Código: Seleccionar todo   Expandir vistaContraer vista
Function defcolor(x) as Long
doc = ThisComponent.CurrentController
hoja = doc.ActiveSheet
celda = hoja.getCellrangeByName(x)
defcolor = celda.CellBackColor
end function

La función no puede devolver un Integer porque el rango de las variables enteras va de -32768 a 32767.
La propiedad de la celda es "CellBackColor" en vez de "BackgroundColor".

En la celda A1 de Hoja1 hay la fórmula
Código: Seleccionar todo   Expandir vistaContraer vista
=DEFCOLOR("B1")

La fórmula
Código: Seleccionar todo   Expandir vistaContraer vista
=DEFCOLOR(B1)

no sirve porque en ese caso la x en la macro contendría el valor de la celda B1, que es 0.
Adjuntos
ColorCelda.ods
(9.29 KiB) 45 veces
FJCC-ES
 
Mensajes: 695
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Conocer el valor del color de fondo de celda

Notapor iagodb » Mié May 30, 2018 5:20 pm

¡Mil gracias! Funciona exactamente como tenía en mente :)

Actualizo el título para marcarlo como resuelto.
Libreoffice 6.1.5.2 (x64) / Windows 10 Pro
Avatar de Usuario
iagodb
 
Mensajes: 71
Registrado: Lun Jul 18, 2016 11:03 am


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: MSN [Bot] y 5 invitados