Tengo un problema con un autofiltro. Necesito filtrar 3 columnas, de "F" a "K" y el criterio se encuentra en la columna "K" que es la columna 3 del criterio.
Lo que necesito es copiar los datos filtrados pero solo de las dos primeras columnas, no las 3 columnas, y llevármelas a otra hoja. Por ahora lo que consigo es llevarme las 3 columnas y no se llevarme solo las 2 columnas primeras del autofiltro.
Este es el código que tengo.
Sub ExportarTecnicos()
Application.ScreenUpdating = False: Application.DisplayAlerts = False
'
Dim wsPxA As Worksheet, wsGrupos As Worksheet
Dim rngData As Range
Set wsPxA = Sheets("PxA"): Set wsGrupos = Sheets("Grupos")
NumRows = wsGrupos.Range("F65536").End(xlUp).Row 'final de fila de nombre de grupos y encargados
c = 1 'primera columna de nombre de grupos
For x = 3 To NumRows 'recorremos todas las filas de nombres de grupos
wsPxA.Cells(4, c) = wsGrupos.Cells(x, 6) 'copiamos el nombre de grupo
wsPxA.Cells(4, c + 2) = wsGrupos.Cells(x, 7) 'copiamos el encargado
cr1 = wsGrupos.Cells(x, 6) 'zona a filtrar
wsGrupos.Range("I2:K2").Select 'seleccionamos donde hacer autofiltro
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:=cr1 ', Operator:=xlAnd 'filtramos
Set rngData = wsGrupos.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
rngData.Select
Selection.Copy
wsPxA.Cells(7, c).PasteSpecial
Selection.AutoFilter
c = c + 6 'siguiente columna con nombre de grupo
Next x
'
Application.ScreenUpdating = True: Application.DisplayAlerts = True: Application.CutCopyMode = False
End Sub
Agradezco vuestra ayuda.
Moisés.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola a todos de nuevo.
Tengo un problema con un autofiltro. Necesito filtrar 3 columnas, de "F" a "K" y el criterio se encuentra en la columna "K" que es la columna 3 del criterio.
Lo que necesito es copiar los datos filtrados pero solo de las dos primeras columnas, no las 3 columnas, y llevármelas a otra hoja. Por ahora lo que consigo es llevarme las 3 columnas y no se llevarme solo las 2 columnas primeras del autofiltro.
Este es el código que tengo.
Sub ExportarTecnicos() Application.ScreenUpdating = False: Application.DisplayAlerts = False ' Dim wsPxA As Worksheet, wsGrupos As Worksheet Dim rngData As Range Set wsPxA = Sheets("PxA"): Set wsGrupos = Sheets("Grupos") NumRows = wsGrupos.Range("F65536").End(xlUp).Row 'final de fila de nombre de grupos y encargados c = 1 'primera columna de nombre de grupos For x = 3 To NumRows 'recorremos todas las filas de nombres de grupos wsPxA.Cells(4, c) = wsGrupos.Cells(x, 6) 'copiamos el nombre de grupo wsPxA.Cells(4, c + 2) = wsGrupos.Cells(x, 7) 'copiamos el encargado cr1 = wsGrupos.Cells(x, 6) 'zona a filtrar wsGrupos.Range("I2:K2").Select 'seleccionamos donde hacer autofiltro Selection.AutoFilter Selection.AutoFilter Field:=3, Criteria1:=cr1 ', Operator:=xlAnd 'filtramos Set rngData = wsGrupos.AutoFilter.Range.SpecialCells(xlCellTypeVisible) rngData.Select Selection.Copy wsPxA.Cells(7, c).PasteSpecial Selection.AutoFilter c = c + 6 'siguiente columna con nombre de grupo Next x ' Application.ScreenUpdating = True: Application.DisplayAlerts = True: Application.CutCopyMode = False End Sub
Agradezco vuestra ayuda.
Moisés.