como copiar e colar repetidamente no VBA

como copiar e colar repetidamente no VBA

O que preciso alcançar é a segunda coluna abaixo. Eu sou um novato em VBA, então qualquer ajuda será muito apreciada.

abc1200                        abc1200
MACHINE                        
supplier
cost
address
invoice number

abc2400                        abc2400
MACHINE
supplier
cost
address
invoice number
.
.
.

O código da gravação é o seguinte. Só preciso repetir no intervalo selecionado

 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

Responder1

Copiar/Colar só é necessário/usado durante a gravação de macro. No VBA, é muito mais fácil atribuir valores diretamente, como
targetcell.value = sourcecell.value, etc.

Portanto, suas primeiras quatro linhas seriam simplesmente:
ActiveCell.Offset(0, 1).Range("A1").Value = ActiveCell.Offset(0, -1).Range("A1").Value

Você pode até reduzir isso para formas mais fáceis, especificando diretamente os nomes das células, dependendo das células que planeja usar.

informação relacionada