cómo copiar y pegar repetidamente en VBA

cómo copiar y pegar repetidamente en VBA

Lo que necesito lograr es la segunda columna a continuación. Soy un novato en VBA por lo que cualquier ayuda será muy apreciada.

abc1200                        abc1200
MACHINE                        
supplier
cost
address
invoice number

abc2400                        abc2400
MACHINE
supplier
cost
address
invoice number
.
.
.

El código de la grabación es el siguiente. Solo necesito repetir en el rango seleccionado

 ActiveCell.Offset(0, -1).Range("A1").Select
 Selection.Copy
 ActiveCell.Offset(0, 1).Range("A1").Select
 ActiveSheet.Paste
 ActiveCell.Offset(6, -1).Range("A1").Select
 Application.CutCopyMode = False
 Selection.Copy
 ActiveCell.Offset(0, 1).Range("A1").Select
 ActiveSheet.Paste
 ActiveCell.Offset(6, -1).Range("A1").Select
 Application.CutCopyMode = False
 Selection.Copy
 ActiveCell.Offset(0, 1).Range("A1").Select
 ActiveSheet.Paste

Respuesta1

Copiar/Pegar sólo es necesario/utilizado durante la grabación de macros. En VBA, es mucho más fácil asignar valores directamente, como
targetcell.value = sourcecell.value, etc.

Entonces tus primeras cuatro líneas serían simplemente:
ActiveCell.Offset(0, 1).Range("A1").Value = ActiveCell.Offset(0, -1).Range("A1").Value

Incluso podría reducir esto a formas más sencillas, especificando los nombres de las celdas directamente, dependiendo de las celdas que planee usar.

información relacionada