Kopiermakro
#1
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
Top
#2
Hallo,
.Range("A4:A" & letzteZeile).Copy .Range("M4")
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • ari-2001
Top
#3
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
[-] Folgende(r) 1 Nutzer sagt Danke an Raoul21 für diesen Beitrag:
  • ari-2001
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste