............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Como cambiar el color de la pestaña dinamicamente

Ver el tema anterior Ver el tema siguiente Ir abajo

Como cambiar el color de la pestaña dinamicamente

Mensaje por merenat el Miér Ene 14, 2015 9:21 pm

Hola:
A ver si me podéis echar una mano a las teclas... que yo estoy muy verde en esto

Tengo un libro mensual "enero" con 31 pestañas una para cada día. Y otra pestaña con los nombres y datos que se usan para las otras.
En cada pestaña tiene una celda con la fecha completa en formato dd/mmmm/aaaa. En la Primera pestaña esta en (z2) "1 de enero de 2015" y en la segunda pestaña esta la referencia a la primera celda (z2) +1 y así sucesivamente, La idea es que cuando la fecha coincide en sábado la pestaña cambie al amarillo y si es domingo en rojo.

Normalmente copio el mismo archivo cambiando el mes y luego lo abro para actualizar la primera fecha y que cambie todo el mes.

He probado esto pero hay que ponerlo en el código de cada hoja, usar una casilla auxiliar para extraer el numero del dia la semana y solo me ha funcionado una vez, si cambio la fecha no se actualiza.

Private Sub Worksheet_Change(ByVal Target As Range)
MyVal = Range("z2").Text

With ActiveSheet.Tab
Select Case MyVal
' Case "0"
.Color = vbBlack
' Case "1"
.Color = vbRed
'Case "2"
.Color = vbGreen
' Case "3"
.Color = vbYellow
'Case "4"
.Color = vbBlue
'Case "5"
.Color = vbMagenta
Case "6"
.Color = vbYellow
Case "7"
.Color = vbRed
Case Else
.ColorIndex = xlColorIndexNone
End Select
End With
End Sub

No hay una forma de ponerlo solo una vez y que se actualiza solo con el cambio de la primera fecha de la primera hoja?




merenat

Masculino Cantidad de envíos : 4
Edad : 40
Ciudad - Pais : Barcelona
Version de Excel : 2003
Fecha de inscripción : 21/10/2013

Volver arriba Ir abajo

Re: Como cambiar el color de la pestaña dinamicamente

Mensaje por gfellay el Jue Ene 15, 2015 12:06 pm

Creo que el inconveniente está en detectar cual es el mejor evento para resolver lo que vos estás planteando. Por lo que decís creo que la mejor opción sería ponerlo en el evento Change de la primer hoja (y verificar que el Target sea la celda donde colocás la fecha inicial). No llego a darme cuenta por que no tenés las fechas siempre en la misma celda (Z2) de las distintas hojas.
Creo que el código sería algo más o menos así:

Private Sub Worksheet_Change(ByVal Target As Range)
if Target.Address <> "$Z$2" Then Exit Sub

Dim Hojas as Worksheet

For Each Hojas in ThisWorkbook.Worksheets
MyVal = ...


Espero te de una pista de como resolver tu problema pero creo que incluso podés tener más información que la que necesitás (ej: no entiendo el uso de la hoja adicional)

Saludos
Gustavo
avatar
gfellay

Masculino Cantidad de envíos : 22
Edad : 47
Ciudad - Pais : Bs. As. - Argentina
Version de Excel : 2010
Fecha de inscripción : 12/09/2008

Volver arriba Ir abajo

Re: Como cambiar el color de la pestaña dinamicamente

Mensaje por merenat el Jue Ene 22, 2015 1:00 pm

Gracias y perdona por la tardanza pese a tu premura en la respuesta. No doy a basto y queria investigar mas antes de volver a preguntar nada.
cuando la lanzo me dice que error de compilacion For sin Next. por las vueltas que le doy no me apaño. Entiendo que con Each ya hace la función den next pero estoy atascado.

la hoja adicional tiene las listas para la validación de determinadas casillas. y la fecha esta en la misma casilla de las hojas de cada dia.y en z2 saco el número de dia de la semana. siendo lun 1 y dom 7.

merenat

Masculino Cantidad de envíos : 4
Edad : 40
Ciudad - Pais : Barcelona
Version de Excel : 2003
Fecha de inscripción : 21/10/2013

Volver arriba Ir abajo

Re: Como cambiar el color de la pestaña dinamicamente

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.