# Autofiltro según valor celda



## josevaldesv (Jan 5, 2007)

Buen día a todos...
Necesito su ayuda, por favor... no encuentro solución.

Tengo un objeto que es un dropdown_list, y lo que busco es que se filtre la información dependiendo de lo que yo escoja en ese dropdown_list.

Ejemplo:
En columna A tengo valores
1,2,3,4,5,5,5,4,2,3,3,4,2,1,3,5,4,3,2.

En el dropdown menu tengo 1,2,3,4 y 5, y quiero que al seleccionar uno de ellos, la columna A (que ya tiene activo el autofiltro) se filtre por ese dato.

Hice esta macro PERO me da valor 0 (cero) o valor nulo ( ).
Please help!

Dim x As String
*x = Range("A3")*
    Selection.AutoFilter Field:=1
    Selection.AutoFilter Field:=1, Criteria1:=*Range("A3").Value*, Operator:=xlAnd


----------



## galileogali (Jan 5, 2007)

Prueba con esto:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$E$1" Then Exit Sub
Filtrar


End Sub

Sub Filtrar()

    Range("a2").CurrentRegion.AutoFilter Field:=1, Criteria1:=[e1]
End Sub

Galileogali


----------



## josevaldesv (Jan 22, 2007)

trabaja muy bien. Gracias!!!


----------



## Greg Truby (Jan 22, 2007)

He leido esto como cinco veces y todavía no logro comprender ¿qué es la diferencia entre el comportamiento normal y lo que usted escribió?





> En el dropdown menu tengo 1,2,3,4 y 5, y quiero que al seleccionar uno de ellos, la columna A (que ya tiene activo el autofiltro) se filtre por ese dato.
> -josevaldesv


¿Cómo llegó Gali a proveer la solución que él hizo - que indica José que funciona - tampoco logro entender?


----------



## galileogali (Jan 29, 2007)

Que tal GREG, volvi ayer de unas vacaciones que me tuvieron alejado de mrexcel y www.exceluciones.com.
Mira yo interprete que lo que buscaba JOSE  era seleccionar un VALOR (p. ej en E1 (sin repetidos) y que trabaje AUTOFILTRO via una macro.
Eso fue lo que interpreté


----------



## josevaldesv (Mar 2, 2007)

Es correcto Gali y Greg...
Eso era lo que yo quería hacer, y según recuerdo, simplemente había yo omitido poner .*value *al final de la toma de valor en la variable.

PD: Perdón por no contestar a este mensaje antes.


----------

