Buenos dias compañeros, espero se encuentren bien, quisiera solicitar
su apoyo para sacar este problema que se ma sucitado.
Estoy trabajando con Excel 2003 y se que no permite mas de 3 formatos
condicionales ya tirandole a 4 cuando no cumple ninguna de las
condiciones anteriores.
Bueno poniendolo asi, tengo el siguiente problema, tengo la columna A
fechas
A
12/02/2008
13/01/2008
5/10/2008
6/10/2008
31/9/2008
9/10/2008
2/02/2007
y asi sucesivamente
Necesito algo asi, que con respecto a la fecha actual o al ultimo dia
del mes haga lo siguiente. si la fecha de la actividad cae dentro de
los primero 10 dias se coloque de color verde.
si la fecha de la actividad cae dentro de los siguientes 10 dias se
coloque de color amarillo.
si la fecha de la actividad cae dentro de los ultimos 10 dias se
coloque de color rojo, lo anterior se puede hacer con formulas en el
formato condicional pero solo acepta 3 a comparacion de office 2007
que creo que acepta hasta 50 formatos condicionales diferentes.
Ahora lo que necesito es que en la misma columna viene la fecha se
pongan de los siguientes colores
si la fecha tiene mas de 30 dias con respecto de la fecha actual
ponerla en color café
si tiene mas de 60 en color morado
y si tiene mas de 90 o mas color gris
Me imagino que esto ya seria con macros, encontre esto codigos, y me
pregunto si me pudiesen ayudar a modificarlo para lo que necesito
ojo. por decir si tengo una fecha del 26/9/2008 con respecto de la
actual que seria 7/10/2008 ya tiene mas de 10 dias y tendria que
cambiar a amarillo es posible, gracias.
les dejo este codigo y muchas gracias de verdad.
Sub prueba1()
Dim MiRango As Range
Set MiRango = Range("E6:F80")
For Each Celda In MiRango
valorcelda = Celda.Value
Select Case valorcelda
Case "Alex"
Celda.Interior.ColorIndex = 45 ' aqui elformato
para Alex
Celda.Font.ColorIndex = 1
Celda.Font.Bold = True
Case "Angel"
Celda.Interior.ColorIndex = 41 ' aqui elformato
para Angel
Celda.Font.ColorIndex = 1
Celda.Font.Bold = True
Case "Victor"
Celda.Interior.ColorIndex = 42 ' aqui elformato
para Victor
Celda.Font.ColorIndex = 1
Celda.Font.Bold = True
Case "Bernat"
Celda.Interior.ColorIndex = 43 ' aqui elformato
para Bernat
Celda.Font.ColorIndex = 1
Celda.Font.Bold = True
Case "Grupo"
Celda.Interior.ColorIndex = 22 ' aqui elformato
para Grupo
Celda.Font.ColorIndex = 1
Celda.Font.Bold = False
Case "Individual"
Celda.Interior.ColorIndex = 24 ' aqui elformato
para Individual
Celda.Font.ColorIndex = 1
Celda.Font.Bold = False
Case Else
Celda.Interior.ColorIndex = 0 'mensaje de
End Select
Next
End Sub
Esta macro se ejecuta automáticamente (pues sino hay que darle al F5
todo el rato) con este otro codigo:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("E6:F80")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
prueba1
'MsgBox "Cell " & Target.Address & " has changed."
End If
End Sub
Leer las respuestas