como cambiar el color del boton de filtro

05/07/2005 - 23:33 por Cynthia | Informe spam
Quiero cambiar el color del filtro que muestra excel de azul que es el
predeterminado a otro color más vistoso.
Para excel 2003
 

Leer las respuestas

#1 Héctor Miguel
06/07/2005 - 05:23 | Informe spam
hola, Cynthia !

... cambiar el color del filtro... de azul... a otro color mas vistoso.



[hasta donde se...] el color azul de los autofiltros 'activados' es 'por diseño' :-(
-> una alternativa pudiera ser utilizar macros [p.e. en el evento '_calculate' de esa hoja]
[si no te incomodan las macros Y PERDER el 'beneficio' del deshacer/undo/ctrl+z]...
-> otra pudiera ser aplicar formatos condicionales y [alg]unas formulas para 'trabajar' con rangos filtrados

te paso un ejemplo [el de las macros] al final y... si cualquier duda... comentas?
saludos,
hector.

-> haz un click-derecho sobre el nombre de la/s hoja/s con los autofiltros y selecciona: 'ver codigo'...
-> copia/pega las siguientes lineas
en el modulo de codigo de 'esa/s' hoja/s ==Private Sub Worksheet_Calculate()
Dim Filtro As Integer
Application.ScreenUpdating = False
With Me
If Not .AutoFilterMode Then Exit Sub
With Range(.AutoFilter.Range.Address)
For Filtro = 1 To .Columns.Count
With .Cells(1, Filtro)
If .Parent.AutoFilter.Filters(Filtro).On Then
.Interior.ColorIndex = 6
.Font.ColorIndex = 3
Else
.Interior.ColorIndex = xlColorIndexNone
.Font.ColorIndex = xlColorIndexAutomatic
End If
End With
Next
End With
End With
End Sub

-> si la/s hoja/s NO 'usan' formulas, el evento calculate NO 'se dispara' y tendras que usar una macro 'intermedia'
[una 'simple' formula como =ahora() en cualquier celda seria suficiente] ;)
1) crea una nueva macro y/o modulo de codigo 'normal' (p.e. Sub FiltrosEnColor()
2) xopia las lineas anteriores 'dentro' del procedimiento [desde Dim Filtro hasta el ultimo End With]
3) cambia la linea ->With Me<- y modificala a [p.e.] ->With ActiveSheet<-
4) el procedimiento lo deberas ejecutar cada vez que necesites 'refrescar' cuales filtros estan 'activados' :((

Preguntas similares