Filtros y colores

28/10/2004 - 14:43 por Santiago | Informe spam
Alguien sabe cómo hacer para cambiar el color azul del botón de un filtro
cuando este está seleccionado. Actualmente el color de la flecha del botón es
negro y cuando uno hace un filtro esta flecha cambia para azul. Necesito que
el color sea más llamativo como un amarillo o rojo. Si esto no es posible ¿
existe alguna forma de que la columna filtrada cambie enteramente de color ?

Gracias;
Santiago
 

Leer las respuestas

#1 Héctor Miguel
28/10/2004 - 20:57 | Informe spam
hola, Santiago !

... cambiar el color azul del boton de un filtro cuando ... esta seleccionado ... que ... sea mas llamativo como un amarillo o


rojo [...]

puedes cambiar el color de fondo y fuente de la/s celda/s_titulo con filtro 'activo'
lo ideal seria que el codigo este 'contenido' en el evento '_calculate' de la hoja [para que sea automatico]
- si la hoja NO contiene formulas, el evento '_calculate' NO se 'dispara' :((
[seria 'necesario' correr una macro 'manual' o incorporar una 'simple' suma o alguna funcion del tipo =hoy()]
=> copia/pega las lineas que te expongo al final.

saludos,
hector.

en el modulo de codigo de la hoja [click-derecho sobre la pestaña del nombre / ver codigo...]
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

notas:
1.- si 'necesitas' utilizar una sola macro para varias hojas...
a) 'mueve' el codigo del evento 'Worksheet_Calculate' del modulo de 'la hoja'...
al evento 'Workbook_SheetCalculate' => en el modulo del libro < b) modifica la linea 'With Me' a... => With ActiveSheet <2.- toma nota de que [con cualquier opcion] =>se pierde<= el 'beneficio' del deshacer [undo... ctrl+z] :((

Preguntas similares