Filtrar datos en Hoja2 según posición celda Hoja1

Tengo un Excel con dos hojas visibles en pantalla. Hoja1 y Hoja2. Con datos variables cada vez que lo abro el Excel

Lo que necesito es que situándome en Hoja1 celda A1 me filtre en Hoja2 las filas que tengan el mismo valor

Si me sitúo en Hoja1 celda A1 aparecería en pantalla lo siguiente

Si me situó en Hoja1 celda A2 me aparecería

En Hoja1 celda A3 sería

Y así el resto de de celdas si tuviera datos

1 Respuesta

Respuesta
2

H0la:

Si utilizamos el grabador de macros, al aplicar el filtro obtenemos algo como esto

ActiveSheet.Range("$A:$B").AutoFilter Field:=1, Criteria1:="=41907", _
Operator:=xlAnd

Ahora, si estamos en la hoja1, el criterio por el que quiero filtrar estará en ActiveCell, siempre y cuando estemos en la columna A (columna número 1), pero no quiero filtrar en ActiveSheet, porque mi hoja activa es la hoja1, no la hoja2, por lo que podríamos aplicar unos cambios a la instrucción anterior:

Sheets("Hoja2").Range("$A:$B").AutoFilter Field:=1, Criteria1:="=" & ActiveCell.value, _
Operator:=xlAnd

Si utilizamos el evento Worksheet_SelectionChange en la Hoja1, podríamos hacer lo siguiente

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Validar que la celda activa está en columna A'
    If ActiveCell.Column = 1 Then   
        'Aplicar filtro en hoja2 segun el dato de la celda activa'
        Sheets("Hoja2").Range("$A:$B").AutoFilter Field:=1, Criteria1:="=" & ActiveCell.Value, _
            Operator:=xlAnd
    End If
End Sub

y voilà!!

[email protected]

Ah! Modifica Range("$A:$B") por el rango de columnas en que tienes aplicado el autofiltro.

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas