Macro filtro por color excel 2003

Quiero hacer una macro en excel 2003 que filtro por color de las celdas (no importa el color), osea que solo muestre las celdas pintadas de algún color, pero también necesito que le pregunte al usuario que columna desea filtrar, y que sobre esa columna yo le pueda establecer un rango definido para que busque la macro, por ejemplo (A1:A200). Tengo lo siguiente :

Sub MacroColor()
Application.ScreenUpdating = False
Dim celdita
Range("A2").Select
For Each celdita In Range("A2:A200")
If celdita.Interior.ColorIndex = -4142 Then
celdita.EntireRow.Hidden = True
Else
celdita.Offset(1, 0).Select
End If
Next
Range("A2").Select
Application.ScreenUpdating = True
End Sub

En resumen esta macro funciona, solo me falta que le pregunte al usuario porque columna desea filtrar, y que en la columna filtrada en la celda A1 se pinte de color azul por ejemplo, para que vea que en esa columna filtro sus datos.

1 respuesta

Respuesta
2

Te mando mi solución:

Ejecuta esta macro y todo solucionado

Al ejecutar esta macro te pedirá que marques el rango que quieres analizar y después hace el resto.

Sub MacroColor()
'por luismondelo
Set rango = Application.InputBox("seleccione el rango que quiere filtrar", Type:=8)
columnas = rango.Columns.Count
columna = rango.Column
If columnas > 1 Then
MsgBox "solo puede seleccionar un rango de una sola columna, vuelva a intentarlo"
Exit Sub
End If
For Each celdita In rango
If celdita.Interior.ColorIndex = -4142 Then
celdita.EntireRow.Hidden = True
End If
Next
Cells(1, columna).Interior.ColorIndex = 3
End Sub

recuerda finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas