Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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


Gehe zu:


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