Error al ejecutar la macro para copiar columnas de una hoja a otra

Tengo una macro que copia columnas de una hoja a otra.

Y me da error cuando va a ejecutar el Selection. Copy, ¿Alguna idea de que puedo estar haciendo mal?

Sub Copy_columns()
'copia columnas a la New_PO
Sheets("PO").Select
Range("W:W,T:T,AG:AG,F:F,C:C,U:U,B:B,Y:Y,Z:AA,AB:AH").Select   
Selection.Copy
Sheets("New_POTemp").Select
ActiveSheet.Paste
End Sub

2 Respuestas

Respuesta

Me da la impresión que los rangos que tienes no son disjuntos, es decir tienen intersecciones. Te sugiero que pongas en orden alfabético los rangos en primer lugar y luego vayas quitando rangos (por ejemplo AG:AG) comprobando hasta donde llegas sin el error.

Respuesta
1
Sub prueba()
    Dim rngOrigen As Range, rngDestino As Range, rngTemp As Range
    Dim i As Integer
    Set rngOrigen = Worksheets("PO").Range("W:W,T:T,AG:AG,F:F,C:C,U:U,B:B,Y:Y,Z:AA,AB:AH")
    Set rngDestino = Worksheets("New_POTemp").[A:A]
    For Each rngTemp In rngOrigen.Areas
        rngTemp.Copy rngDestino.Offset(, i)
        i = i + rngTemp.Columns.CountLarge
    Next rngTemp
    Set rngOrigen = Nothing: Set rngDestino = Nothing: Set rngTemp = Nothing
End Sub

La columna AG se copiará dos veces (en las columnas C y P de la hoja destino, creo).

Saludos_

Hola,

Muchas gracias,  me funciono la macro y me las copio en el mismo orden en la nueva Hoja, pero ahora me di cuenta que en el ultimo rango de columnas de AB:AH tengo que insertar dos columnas en blanco y despues la columna AH. Como puedo hacer?

Un saludo

Aleida

Lo más sencillo parece que sería insertar esas dos columnas después de la copia (tras el Next)

Saludos_

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas