Macro filtro que copie a otra hoja

Tengo una hoja con datos de la columna "A" a la "J". En esta última figuran las fechas de venta y quisiera disponer de una macro que en base al dato "fecha" que introduciría en la celda "B2" de la "Hoja2" me filtrase todos los datos que cumpliesen esa condición.

1 respuesta

Respuesta
1

H o l a:

Haber si entendí, tienes una hoja con datos, supongamos que es la hoja1, ¿correcto?

En la columna J de la hoja1 están las fechas, ¿correcto?

Supongo que en la hoja1, en la fila1 están los encabezados y en la fila 2 empiezan los datos, ¿correcto?

En la hoja2 en la B2, vas a poner una fecha, ¿correcto?

Y en dónde quieres los datos filtrados, supongo que en la hoja2, y también supongo que se pondrían a partir de la fila 4, ¿correcto?

'

Si todo lo anterior es verdadero, te anexo la macro, pon la macro en los eventos de tu hoja2, cada que modifiques la celda B2 de la hoja2, en automático se ejecutará la macro:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [B2]) Is Nothing Then
        Set h1 = Sheets("Hoja1")
        Set h2 = ActiveSheet
        u = h2.Range("J" & Rows.Count).End(xlUp).Row
        If u < 4 Then u = 4
        h2.Range("A4:J" & u).ClearContents
        j = 4
        For i = 2 To h1.Range("J" & Rows.Count).End(xlUp).Row
            If h1.Cells(i, "J") = h2.[B2] Then
                h1.Rows(i).Copy h2.Rows(j)
                j = j + 1
            End If
        Next
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro


'

'

S a l u d o s . D a n t e   A m o r. Recuerda valorar la respuesta. Gracias

'

'

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas