Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Range Copy Paste Möglichkeiten

VBA Range Copy Paste Möglichkeiten
03.02.2023 09:21:44
Michael
Hallo liebe Makrofreunde,
ich habe ein Problem mit einem Makro gelöst. Das funktioniert auch gut. Allerdings komme ich mit dem Kopieren und Einfügen von Zellbereichen nicht klar.
Hier ist der funktionierende Absatz, den ich gerne erweitern möchte. Im Code sieht man, dass vom Worksheet "wsQuelle" ein bestimmter Bereich kopiert wird und auf dem Blatt "wsZiel" eingefügt wird.

With wsQuelle
.Range(.Cells(ID + 1, 22), .Cells(ID + 1 - (j - 1), 1)).Copy
wsZiel.Cells(k, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With

Das reicht mir aber nicht. Ich möchte gerne hinter die eingefügten Zeilen in einer Spalte den Wert einer Variable eintragen. Es soll also eine einzige Zelle kopiert werden und im wsZiel hinter den zuvor eingefügten Beriech hinzugefügt werden. Ich erhalte aber einen Laufzeitfehler.

wsQuelle.Range(Cells(ID + 1, 12), Cells(ID + 1, 12)).Copy
wsZiel.Range(Cells(k - j, 25), Cells(k, 25)).PasteSpecial _
xlPasteValues

Ich habe mir diesen Forumbeitrag angeschaut, komme aber mit der Syntax nicht zurecht, da es im besagten Beitrag um zwei verschiedene Workbooks geht. In meinem Fall passiert aber alles in einem Workbook. https://www.herber.de/forum/archiv/1568to1572/1570128_Range_Copy_Value.html

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Range Copy Paste Möglichkeiten
03.02.2023 10:00:20
hary
Moin.
Du musst bei Cells auch das Blatt zuweisen.
In diesen Fall Value direkt eintragen geht auch.
 wsZiel.Range( wsZiel.Cells(k - j, 25),  wsZiel.Cells(k, 25)) = wsQuelle.Cells(ID + 1, 12).Value
gruss hary
AW: VBA Range Copy Paste Möglichkeiten
03.02.2023 16:17:39
Michael
Hallo Hary,
deine Methode unterscheidet sich von den üblichen Codeschnipseln im Netz. Vielleicht ist die folgende Frage etwas dumm, aber so richtig verstehe ich es noch nicht:
Du weist in deinem Beispiel einfach einem bestimmten Bereich den Inhalt eines anderen Bereichs zu:
Ziel = Quelle.value
Das was ich sonst so im Netz zu Copy/Paste gefunden habe läuft aber über
Quelle.copy Ziel.paste
Da meine Tabelle sehr groß ist (>250k Zeilen) ist zwischenzeitig Excel in die Knie gegangen. Ich habe deshalb
Application.DisplayAlerts = False 
eingefügt, was offensichtlich Wunder wirkt.
Ist dein Code eher ressourcenschonend? Kann man das überhaupt so sagen? Welche Unterschiede gibt es zwischen deiner Methode und der mit .copy .paste?
Anzeige
AW: VBA Range Copy Paste Möglichkeiten
04.02.2023 10:48:53
hary
Moin Michael
"Ist dein Code eher ressourcenschonend?"
Fuer eine ganz genaue Angabe(wieviel es bringt) bin ich eine zu kleine VBA-Leuchte. ;-))
Aber abein vom lesen her:
Ziel = Quelle.value
oder
Quelle kopieren in Zwischenablage / Zwischenablage in Ziel einfuegen
ist das erste schon mal ohne Zwischenschritte..
Mit
Application.DisplayAlerts = False
schaltest/ ueberspringst du Meldungen.

gruss hary
AW: VBA Range Copy Paste Möglichkeiten
03.02.2023 12:41:44
Daniel
Hi
wenn du mit mehreren Blättern oder Mappen arbeitest, dann musst du vor jedem Cells und Range IMMER das Workbook bzw das Worksheet angeben.
das gilt auch für die Cells innerhalb von Range(Cells(), Cells()). ohne diese Angabe geht die Referenz auf das gerade aktive Tabellenblatt.
um die Schreibarbeit zu vereinfachen, kann man neben dem Range(Cells(), Cells()) noch weitere Methoden um beschreiben eines Zellbereichs verwenden.
Für Einzelzellen reicht Cells().
Größere Zellbereiche kann man mit Cells().Resize() beschreiben:
wsQuelle.Cells(ID + 1, 12).Copy
wsZiel.Cells(k - j, 25).Resize(j + 1, 1).PasteSpecial xlPasteValues
Gruß Daniel
Anzeige
AW: VBA Range Copy Paste Möglichkeiten
03.02.2023 16:06:32
Michael
Hallo Daniel,
vielen Dank

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige