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
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.
[RESUELTO] Conocer el valor del color de fondo de celda
[RESUELTO] Conocer el valor del color de fondo de celda
Ú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
Re: Conocer el valor del color de fondo de celda
El archivo adjunto contiene esta macro
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
La fórmula
no sirve porque en ese caso la x en la macro contendría el valor de la celda B1, que es 0.
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 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")
Código: Seleccionar todo
=DEFCOLOR(B1)
- Adjuntos
-
- ColorCelda.ods
- (9.29 KiB) Descargado 240 veces
Re: Conocer el valor del color de fondo de celda
¡Mil gracias! Funciona exactamente como tenía en mente
Actualizo el título para marcarlo como resuelto.
Actualizo el título para marcarlo como resuelto.
Libreoffice 7.0 (x64) / Windows 10 Pro