Clever-Excel-Forum

Normale Version: Kopiermakro
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich möchte gerne ein Makro schreiben, welches im Arbeitsblatt "Testblatt" den Inhalt der Zeile A ab A4 nach M4 kopiert.

So fange ich an:

Sub Kopieren()
 Dim letzteZeile As Long
     With ThisWorkbook.Sheets("Testblatt")
         letzteZeile = .Range("A" & Rows.Count).End(xlUp).Row
        
         .Range("A4:A" & letzteZeile)



Ab hier hört es bei mir auf, ich schaffe es irgendwie nicht, dass er jetzt alles ab A4 nach M4 kopiert.

Dürfte ich noch einmal um Hilfe bitten?

Viele Grüße
Andreas
Hallo,
.Range("A4:A" & letzteZeile).Copy .Range("M4")
Gruß Uwe
Hallo Andreas,

Uwes Vorschlag kopiert alles von der Zelle, auch die Formatierung, Formeln, usw. Das ist die range.Copy-Methode.

Daneben gibt es auch die range.PasteSpecial-Eigenschaft, gesetzt in der Zeile nach der Copy-Methode.
Die überträgt nur ausgesuchte Daten der Kopierzellen, zum Beispiel die Inhalte.

Code:
.Range("D4:D" & letzteZeile).PasteSpecial xlPasteValues

Willst Du nur Formeln übernehmen, dann 

Code:
.Range("D4:D" & letzteZeile).PasteSpecial xlPasteFormulas

oder

Code:
.Range("D4:D" & letzteZeile).PasteSpecialxlPasteFormats

für Übertragung von Formaten.

Man kann Werte in andere Zellen direkt zuweisen. Zum Beispiel:
Code:
.Range("D4:D" & letzteZeile)=.Range("A4:A" & letzteZeile)

Die Größe des Einfügebereichs muss gleich groß oder kleiner als der Kopierbereich sein. Sonst werden die überzähligen Zellen mit einem Fehler befüllt.

LG, Raoul