Color condicionado de pestaña en excel

Buenos días. Requiero que la pestaña de una hoja tome el color condicionado que tiene una celda específica dentro de la misma hoja, no encuentro nada en el formato de la pestaña, ¿habrá alguna macro para esta acción?
Mil gracias.

1 Respuesta

Respuesta
Inserta un modulo desde el editor de vba ( alt + f11) en ese modulo pegas este macro:
Sub color_pestaña()
' color pestaña by Calvuch 04-08-2011
With ActiveSheet.Tab
.Color = Range("A1").Interior.Color
End With
End Sub
Grabas y listo, el macro se llama color_pestaña o corres como cualquier macro
La celda que he tomado como ejemplo es la A1 cambia esa referencia a la celda que estimes conveniente
CIERRA la pregunta
Gracias por tomarte el tiempo para responder mi pregunta, es muy claro el procedimiento que me indicas, sin embargo la idea es que el color debe ir cambiando conforme cambie el de la celda indicada, pues es por condición de contenido, además se van insertando nuevas hojas que deberán tener la misma estructura. Nuevamente gracias por tu apoyo.
Ok, pues bien en se caso debe hacer la llamada al macro mediante el evento change de la hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then color_pestaña
End Sub
Desde el editor de VBA dale doble click a la hoja en que deseas activar el macro, y pegas el macro anterior en la hoja que se desplegara en blanco, si deseas que lo haga en todas las hojas pues debes repetir el procedimiento por cada hoja. ( No conozco otra forma).
Ahora bien, el evento change considera "cambios" de contenido y no de formato, es decir si cambias el color de la celda y no cambias el contenido la llamada no ocurre.
Es todo lo que te puedo ofrecer.
Ups, se me paso
Mira mejor pega la llamada en el evento change del libro completo, así no importa desde que hoja haces el cambio siempre se evalúa.
Desde el editor de vba selecciona el objeto ThisWorkbook dale doble click y pega esto:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" Then color_pestaña
End Sub
Así evaluaras la celda A1 de cualquier hoja del libro...
Ya decía yo que como te iba a obligar a pegar el macro hoja, por hoja... :-/. sorry.
Nuevamente yo. Ahora, después de pegar en thisworkbook la secuencia que me indicas, me dice que hay error de compilación, no se ha definido sub o función y queda señalado colo_pestaña. ¿Alguna idea?
Es color_pestaña no "colo_pestaña" revisa si te comiste la "r"
Si corrigues y aun no te funciona agrega la instrucción call antes de la llamada así:
If Target.Address = "$A$1" Then call color_pestaña
Si estamos Ok CIERRA la pregunta
Muchas gracias. No funcionó de ninguna de las dos maneras, ¿es posible que sea el idioma?
Corregí y nuevamente sale el error de compilación, no se ha definido sub o function y queda en azul call color_pestaña
No veo por que, tal evz la version estoy utilizando excel 2007, si tienes las misma te envío la planilla de prueba a tu mail.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas