Como Cambiar el color de la pestaña según el valor de una celda en Excel
¿No sería fantástico cambiar el color de la pestaña de una hoja de cálculo basándose en un cálculo? Si no está convencido, aquí hay algunos escenarios posibles:
- Cuando una programación concilia o incluye un valor de celda específico
- Si hay un error en un rango de celdas
- Para codificar por colores las pestañas para que coincidan con una página de contenido
Al principio no estabas seguro, ¿no? Pero ahora crees que sería una buena idea, ¿no? La buena noticia es que es bastante simple.
Sólo requiere una pequeña cantidad de código en una función definida por el usuario.
No se me ocurrió esta idea por mi cuenta. La idea surgió de la publicación de David Hager, mira su publicación aquí .
Crear la función definida por el usuario
Para crear una función definida por el usuario, haga clic en Desarrollador – Visual Basic (o el acceso directo ALT + F11).
Agregue el código como se muestra a continuación. El código de funciones definidas por el usuario debe estar dentro de un módulo estándar para funcionar correctamente.
Código VBA:
Función TabColor(CellColor como rango, nombre de hoja opcional como cadena, _ nombre de libro opcional como cadena)Application.VolatileIf SheetName = "" Then SheetName = Application.Caller.Parent.NameEnd IfIf WorkbookName = "" Then WorkbookName = Application.Caller.Parent.Parent .NameEnd IfIf CellColor.Interior.Color = xlNone Then 'Si el color de la celda no es relleno, haga que el color de la pestaña sea automático Workbooks(WorkbookName).Sheets(SheetName).Tab.Color = xlAutomaticElse 'De lo contrario, cambie al color de la celda Workbooks(WorkbookName). Hojas(HojaNombre).Tab.Color = CellColor.Interior.ColorEnd IfTabColor = ""Finalizar función
Dependiendo de cómo desee que funcione la función definida por el usuario, existen diversas formas de utilizar esta función. Vea los ejemplos en la sección siguiente.
Usando la función
La función que creamos anteriormente ahora está disponible en Excel para su uso, como cualquier otra función. La sintaxis es la siguiente:
=TabColor(ColorCelda,[NombreHoja],[NombreLibro])
- CellColor es una referencia a una celda que contiene el color que se utilizará.
- SheetName es un argumento opcional para aplicar la función a otra hoja en el mismo libro.
- WorkbookName es un argumento opcional para aplicar la función a otra hoja en un libro de trabajo diferente.
Ahora, veamos algunos ejemplos.
Ejemplo n.º 1: uso básico
Este ejemplo muestra el uso básico de la función definida por el usuario TabColor.
Ejemplo 1a
La celda A1 contiene la siguiente fórmula:
=Color de pestaña(B1)
El color de la pestaña en la celda B1 se aplica a la hoja dentro de la cual se utiliza la función.
Ejemplo 1b
La celda A2 contiene la siguiente fórmula:
=TabColor(B2,"Hoja2")
El color de la pestaña en la Celda B2 se aplica a la Hoja2 en el mismo libro.
Ejemplo 1c
La celda A3 contiene la siguiente fórmula:
=TabColor(B3,"Hoja1","Librodepruebas.xlsx")
El color de la pestaña en la celda B3 se aplica a la Hoja1 del libro TestBook.xlsx (que debe estar abierto para que la función funcione).
Ejemplo #2: Cuando una celda incluye un valor de celda específico
Este ejemplo muestra cómo configurar el color de la pestaña según el valor de una celda.
La fórmula en la celda C4 es:
=SI(B4=100,color de pestaña(C6),color de pestaña(C7))
Cuando el Total es igual a 100, el color de la pestaña es verde; de lo contrario, es rojo.
Ejemplo #3: Error en un rango
El ejemplo muestra el cambio de color de la pestaña cuando existe un error dentro de un rango.
La fórmula en la celda D2 es:
=SI(SUMPRODUCTO(--ISERROR(B2:B9))=1,TabColor(D3),TabColor(D4))
El elemento SUMPRODUCT de la fórmula cuenta el número de errores. Como hay un error en la celda B7, la función SI mostrará el resultado VERDADERO, lo que hace que la función TabColor cambie el color de la pestaña a rojo.
Ejemplo n.º 4: pestañas de código de colores en una página de contenido
Este ejemplo muestra que el nombre de la hoja se construye a partir de dos celdas.
La fórmula en la celda D4 es:
=Color de pestaña(D4,$B4" "D$3)
NY en la celda B4 y Ventas en la celda D3 están concatenados con el símbolo "". La función TabColor hace que la pestaña "Ventas de Nueva York" se vuelva verde claro.
Como la función TabColor no utiliza valores calculados, puede apuntar a su propia celda sin provocar una referencia circular.
Utilice RGB para aplicar el color.
En la UDF anterior, el color se establece vinculando a una celda; al cambiar el código, es posible usar los valores RGB en su lugar.
Función TabColorRGB (rojo como entero, verde como entero, azul como entero, _ nombre de hoja opcional como cadena, nombre de libro de trabajo opcional como cadena)Application.VolatileIf SheetName = "" Then SheetName = Application.Caller.Parent.NameEnd IfIf WorkbookName = "" Then WorkbookName = Application.Caller.Parent.Parent.NameEnd IfWorkbooks(WorkbookName).Sheets(SheetName).Tab.Color = RGB(Rojo,Verde,Azul)TabColor = ""Finalizar función
Esta función se puede utilizar de la siguiente manera:
=TabColorRGB(255,0,0,"Hoja1","TestBook.xlsx")
Los primeros 3 argumentos son los códigos de color rojo, verde y azul. El nombre de la hoja y el nombre del libro son opcionales. La fórmula anterior convertirá la pestaña de la Hoja 1 de TestBook.xlsx en rojo (que es el color de Rojo = 255, Verde = 0 y Azul = 0).
Conclusión
Cambiar el color de la pestaña usando una fórmula es bastante fácil y puede proporcionar una representación visual simple del estado de una hoja de trabajo dentro del libro.
Deja una respuesta