Flitrar u Ordenar por color de las celdas

10/05/2006 - 16:48 por Horacles | Informe spam
necesito ordenar (o flitrar )datos tomando como clave color de fondo de las
celdas o color de la fuente ?
 

Leer las respuestas

#1 David
10/05/2006 - 18:12 | Informe spam
Necesitarás tres macros: uno que oculte según el color de la fuente, otro que
oculte según el color del interior de la celda, y un tercero que muestre todo.

Prueba con estos. Requieren que te posiciones en una celda que tenga la
característica que deseas (color de relleno o de fuente específico), y luego
lo ejecutes.


Sub FiltroTexto()
Dim XColor As Double
Dim Activa As String
Dim CAc, FAc, C, F As Double
Dim j As Double

XColor = ActiveCell.Font.ColorIndex
Activa = ActiveCell.Address
CAc = ActiveCell.Column
FAc = ActiveCell.Row

Application.ScreenUpdating = False
Selection.CurrentRegion.Select
For F = Selection.Row + 1 To Selection.Rows.Count
If Cells(F, CAc).Font.ColorIndex <> XColor Then
Cells(F, CAc).RowHeight = 0
Else
'Remover para filtrar en forma acumulativa
Cells(F, CAc).RowHeight = 12.75
End If
Next F
Range(Activa).Select
Application.ScreenUpdating = True
End Sub

Sub FiltroInterior()
Dim XColor As Double
Dim Activa As String
Dim CAc, FAc, C, F As Double
Dim j As Double

XColor = ActiveCell.Interior.ColorIndex
Activa = ActiveCell.Address
CAc = ActiveCell.Column
FAc = ActiveCell.Row

Application.ScreenUpdating = False
Selection.CurrentRegion.Select
For F = Selection.Row + 1 To Selection.Rows.Count
If Cells(F, CAc).Interior.ColorIndex <> XColor Then
Cells(F, CAc).RowHeight = 0
Else
'Remover para filtrar en forma acumulativa
Cells(F, CAc).RowHeight = 12.75
End If
Next F
Range(Activa).Select
Application.ScreenUpdating = True
End Sub

Sub QuitarFiltro()
Dim Activa As String
Dim j As Double

Activa = ActiveCell.Address

Application.ScreenUpdating = False
Selection.CurrentRegion.Select
j = 1
For Each fila In Selection.Rows
If j <> 1 Then
fila.RowHeight = 12.75
Else
j = 0
End If
Next fila
Range(Activa).Select
Application.ScreenUpdating = True
End Sub


PD:
Puedes remover la fila especificada para que después de haber filtrado por
relleno, te permita hacer un filtro por color de fuente o viceversa,
conservando las celdas ocultas por el primero.




"Horacles" escribió:

necesito ordenar (o flitrar )datos tomando como clave color de fondo de las
celdas o color de la fuente ?

Preguntas similares