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

Discute sobre la aplicación de hojas de cálculo
Responder
Avatar de Usuario
iagodb
Mensajes: 220
Registrado: Lun Jul 18, 2016 11:03 am
Ubicación: Narón (A Coruña)

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

Mensaje por iagodb »

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/v ... 45&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 7.0 (x64) / Windows 10 Pro
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Conocer el valor del color de fondo de celda

Mensaje por FJCC-ES »

El archivo adjunto contiene esta macro

Código: Seleccionar todo

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

=DEFCOLOR("B1")
La fórmula

Código: Seleccionar todo

=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) Descargado 240 veces
Avatar de Usuario
iagodb
Mensajes: 220
Registrado: Lun Jul 18, 2016 11:03 am
Ubicación: Narón (A Coruña)

Re: Conocer el valor del color de fondo de celda

Mensaje por iagodb »

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

Actualizo el título para marcarlo como resuelto.
Libreoffice 7.0 (x64) / Windows 10 Pro
Responder