Saltar al contenido

Filtrar varios datos de una columna


JosMa

Recommended Posts

Buenas Tardes, tengo una macro que  filtra de una columna un dato concreto, en el ejemplo la macro saca todos los datos "Barcelona", los copia en la Hoja2 y los borra del origen.

Lo que no consigo es que me seleccione mas de un dato, por ejemplo Barcelona y Valencia, que los copie en la Hoja2 y los borre de la Hoja1

Gracias por la ayuda

 

Sub Filtrar_Datos_Columna()

Dim wbLibroActual As Workbook
Dim wsHojaActual As Worksheet
Dim RangoDatos As Range
Dim uFila As Long

Set wbLibroActual = Workbooks(ThisWorkbook.Name)
Set wsHojaActual = wbLibroActual.ActiveSheet
Set RangoDatos = wsHojaActual.UsedRange

RangoDatos.AutoFilter Field:=5, Criteria1:="Barcelona"


uFila = wsHojaActual.Range("A" & Rows.Count).End(xlUp).Row

wsHojaActual.Range("A2:F" & uFila).Copy

    Sheets("Hoja2").Select
    Range("A2").Select
    ActiveSheet.Paste

wsHojaActual.Range("A2:F" & uFila).Delete

Application.CutCopyMode = False

End Sub

Filtrar_Datos_Columna.xlsm

Enlace a comentario
Compartir con otras webs

Hace 10 horas, JSDJSD dijo:
Prueba y comenta
RangoDatos.AutoFilter Field:=5, _
        Criteria1:="Barcelona", _
        Operator:=xlAnd, _
        Criteria2:="Valencia"

 

Gracias por tu ayuda.

Si que funciona, el problema es el siguiente paso, no se por que no me copia los resultados en la hoja2

uFila = wsHojaActual.Range("A" & Rows.Count).End(xlUp).Row

wsHojaActual.Range("A2:F" & uFila).Copy

    Sheets("Hoja2").Select
    Range("A2").Select
    ActiveSheet.Paste
 

Solamente me copia la primera fila de los encabezados (A) a partir de A2

 

Saludos

Enlace a comentario
Compartir con otras webs

Código utilizado

 With Hoja1.Range("A1").CurrentRegion
        .AutoFilter Field:=5, _
        Criteria1:="Barcelona", _
        Operator:=xlOr, _
        Criteria2:="Valencia"
        Hoja2.Range("A1").CurrentRegion.Delete
        .SpecialCells(12).Copy Hoja2.Range("A1")
        .AutoFilter
    End With

 

Enlace a comentario
Compartir con otras webs

Hace 52 minutos , JSDJSD dijo:

Código utilizado

 With Hoja1.Range("A1").CurrentRegion
        .AutoFilter Field:=5, _
        Criteria1:="Barcelona", _
        Operator:=xlOr, _
        Criteria2:="Valencia"
        Hoja2.Range("A1").CurrentRegion.Delete
        .SpecialCells(12).Copy Hoja2.Range("A1")
        .AutoFilter
    End With

 

Perfecto. Sobra todo lo demas que habia puesto.

Pues muchas gracias por tu ayuda y rapidez.  Saludos

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.