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
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_

1 respuesta más de otro experto

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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas