Como puedo reducir este código para que el excel lo ejecute con más rapidez

Tengo este código el cual copia columnas filtradas a otra hoja, pero el excel se demora en ejecutarlo ya que lo realiza uno por uno, ¿se podrá realizar este código más fácil?

Sheets("Inventario Mantención").Select
Columns("B:B").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Filtro").Select
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Inventario Mantención").Select
Columns("F:F").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Filtro").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Inventario Mantención").Select
Columns("AG:AG").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Filtro").Select
Range("C6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Inventario Mantención").Select
Columns("AJ:AJ").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Filtro").Select
Range("D6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select

1 respuesta

Respuesta
1

Prueba con esta macro, te copia las 4 columnas en un solo paso

Sub COPIAR_COLUMNAS()
Set H1 = Sheets("Inventario Mantención")
Set H2 = Worksheets("FILTRO")
Set ORIGEN = H1.Range("A1").CurrentRegion
With ORIGEN
    Set ORIGEN = Union(.Columns(2), .Columns(6), .Columns(33), .Columns(36))
    .Copy: H2.Range("A6").PasteSpecial Paste:=xlPasteValues
    .Columns(2).Copy: H2.Range("A6").PasteSpecial Paste:=xlPasteValues
End With
End Sub
. Columns(2). Copy: H2. Range("A6").PasteSpecial Paste:=xlPasteValues

borra esta linea esta de mas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas