Copiar columnas filtradas a otra hoja

Sub CopiarColumnas()
    Range("B5"). AutoFilter
    Range("B5"). AutoFilter
    Application.ScreenUpdating = False
    cols = Array("C", "B", "D", "K", "L", "M", "H", "N", "O", "P", "Q", "R", "U", "W", "Y", "T", "F")
    Set h1 = Sheets("HOJA1")
    Set h2 = Sheets("HOJA2")
    h2.Cells.ClearContents
    K = 1
    For j = LBound(cols) To UBound(cols)
        u = h1. Cells(Rows. Count, cols(j)).End(xlUp). Row
 h1. Range(h1. Cells(5, cols(j)), h1. Cells(u, cols(j))). Copy
 h2.Cells(3, K). PasteSpecial xlValues
        K = K + 1
    Next
    Application.ScreenUpdating = True
    h1.Select
    'Contar Registros
    Dim cuenta As Double
    cuenta = WorksheetFunction.CountA(Range("B6:B1000000"))
    Range("B5").Select
    ActiveWorkbook.Save
    MsgBox cuenta & " Registros copiados", vbInformation, "::: Registros :::"
End Sub

Este código me permite copiar las columnas mencionadas a otra hoja, el detalle es que la HOJA1 tiene una columna Estado con las siguientes condiciones "NUEVO", "ANTIGUO" y "DESACTIVO" quisiera que los que están en "DESACTIVO" no sean copiados en la HOJA2.

Respuesta

.

Mmmmmm...

Antes de utilizar esa macro y cuando estás en etapa de utilizar el Autofiltro, selecciona todo menos DESACTIVO en la columna correspondiente.

.

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas