So führen Sie wiederholtes Kopieren und Einfügen in VBA durch

So führen Sie wiederholtes Kopieren und Einfügen in VBA durch

Was ich erreichen muss, ist wie in der zweiten Spalte unten. Ich bin ein VBA-Neuling, daher wäre ich für jede Hilfe sehr dankbar.

abc1200                        abc1200
MACHINE                        
supplier
cost
address
invoice number

abc2400                        abc2400
MACHINE
supplier
cost
address
invoice number
.
.
.

Der Code aus der Aufnahme ist wie folgt. Sie müssen ihn nur im ausgewählten Bereich wiederholen

 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

Antwort1

Kopieren/Einfügen wird nur während der Makroaufzeichnung benötigt/verwendet. In VBA ist es viel einfacher, die Werte direkt zuzuweisen, wie
targetcell.value = sourcecell.valueusw.

Ihre ersten vier Zeilen würden also einfach lauten:
ActiveCell.Offset(0, 1).Range("A1").Value = ActiveCell.Offset(0, -1).Range("A1").Value

Sie können dies sogar auf einfachere Formen reduzieren, indem Sie die Zellennamen direkt angeben, je nachdem, welche Zellen Sie verwenden möchten.

verwandte Informationen