es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Quiere filtrar y copiar desde la hoja2 pero sin activar la hoja2

Tengo un archivo de Excel en el que hay 2 hojas.
Desde la Hoja1, quiero filtrar datos en la tabla de la Hoja2 y copiar y pegar los datos filtrados en la celda Hoja1 A1.
¿Es posible hacerlo a través de la Hoja1 sin activar o seleccionar la Hoja2?

He escrito código pero el filtro solo funciona cuando la Hoja2 está seleccionada.

Sub Test()

On Error Resume Next

With Sheets("Sheet2")

.ShowAllData

.ListObjects("Table1").Range.AutoFilter Field:=(Rows("2").Find("Model").Column), Criteria1:= _
    "=DZIRE", Operator:=xlOr, Criteria2:="=Ertiga"

End With

Range("Table1[Outlet Name],Table1[Supplier Category],Table1[Model]").Copy

ActiveSheet.Paste

End Sub
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para filtrar datos en la tabla de la hoja2 y copiar y pegar los datos filtrados en la celda A1 de la hoja1 sin activar o seleccionar la hoja2, puedes usar el siguiente código modificado:

    Sub Test()
    
    On Error Resume Next
    
    With Sheets("Hoja2")
    
        .ShowAllData
    
        .ListObjects("Tabla1").Range.AutoFilter Field:=(Rows("2").Find("Modelo").Column), Criteria1:= _
            "=DZIRE", Operator:=xlOr, Criteria2:="=Ertiga"
    
        .ListObjects("Tabla1").Range.SpecialCells(xlCellTypeVisible).Copy
    
    End With
    
        Sheets("Hoja1").Range("A1").PasteSpecial
    
    End Sub
    

    Este código aplica el filtro a la tabla de la hoja2 y copia solo las celdas visibles al portapapeles. Luego, pega los datos en la celda A1 de la hoja1 sin activar o seleccionar la hoja2.

Comments are closed.