Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
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

Copy zw. 2 tabellenblätter

Copy zw. 2 tabellenblätter
04.04.2017 09:13:17
Andreas
Hallo,
ich kämpfe mit einem Problem, das sich um das Kopieren von Daten aus einem Tabellenblatt in ein anderes dreht.
Mit Select habe isch das ganz prima hinbekommen, nur ist das leider viel zu langsam.
Mit der direkten Adressierung hakt es:
Was ist falsch an dieser Anweisung:
Sheets("Daten").Range(Cells(Active_Zeile_Daten, Active_Spalte_Anfang), Cells(Active_Zeile_Daten, Active_Spalte_Ende)).Copy _
Sheets("Ergebnis").Range(Cells(Active_Zeile_Ergebnis, Active_Spalte_Anfang), Cells(Active_Zeile_Ergebnis, Active_Spalte_Ende)).Paste
Bitte um Hilfe!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Copy zw. 2 tabellenblätter
04.04.2017 09:23:34
Anton
Guten Morgen Andreas,
was kommt denn für eine Fehlermeldung?
VG Anton
AW: Copy zw. 2 tabellenblätter
04.04.2017 09:29:23
Werner
Hallo Andreas,
Laufzeitfehler 1004?
Bei deinem Code stimmt die Referenzierung nicht. Dazu muss vor jedes Range-Objekt (Range, Cells) das Blatt geschrieben werden. Oder einfacher in einer With - End With "Klammer". Da wird dann durch einen Punkt vor Range und Cells auf das Blatt referenziert. Beim Einfügen reicht die Angabe der linken oberen Zelle des Zielbereichs.
With Sheets("Daten")
.Range(.Cells(Active_Zeile_Daten, Active_Spalte_Anfang), _
.Cells(Active_Zeile_Daten, Active_Spalte_Ende)).Copy _
Sheets("Ergebnis").Cells(Active_Zeile_Erg Active_Spalte_Ende)
End With
Gruß Werner
Anzeige
AW: Copy zw. 2 tabellenblätter
04.04.2017 10:14:36
Andreas
Hallo Werner,
viele Dank, perfekt.
Zum besseren Verständnis, dh. ich hätte vor Cells ebenfalls das Blatt schreiben müssen, dann hätte es auch funktioniert oder?
LG Andreas
AW: Gerne u. Danke für die Rückmeldung
04.04.2017 10:27:18
Werner
Hallo Andreas,
ja, wenn du in VBA eine Range ansprechen willst, dann muss vor jedem Range-Objekt auf das entsprechende Blatt referenziert werden, d.h. du mußt vor jedem Range und vor jedem Cells das Blatt mit angeben.
Das ist aber vom Schreiben her ziemlich umständlich, deshalb die With - End With "Klammer". Da bewirkt dann der Punkt vor den Range und Cells, dass auf das im With angegebene Blatt referenziert wird. Da müssen dann aber die Punkte zwingend vorhanden sein.
Gruß Werner
Anzeige
AW: Copy zw. 2 tabellenblätter
04.04.2017 10:26:10
Andreas
Noch eine Frage:
Erlaubt diese Art auch, dass ich nur Werte einfüge.
Oder kann ich hierbei keine Argumente angeben?
LG Andreas
AW: Copy zw. 2 tabellenblätter
04.04.2017 10:35:24
Werner
Hallo Andreas,
nein, in der Form dann nicht, dann muss der Befehl/Code zum Einfügen in einer separaten Zeile stehen.
So:
With Sheets("Daten")
.Range(.Cells(Active_Zeile_Daten, Active_Spalte_Anfang), _
.Cells(Active_Zeile_Daten, Active_Spalte_Ende)).Copy
Sheets("Ergebnis").Cells(Active_Zeile_Erg, Active_Spalte_Ende).PasteSpecial _
Paste:=xlValues
Application.CutCopyMode = False 'Kopierspeicher leeren
End With
Gruß Werner
Anzeige
AW: Copy zw. 2 tabellenblätter
04.04.2017 10:52:17
Andreas
Vielen Dank, Werner.
Du warst mit eine große Hilfe!
LG Andreas
AW: Gerne u. Danke für die Rückmeldung
04.04.2017 11:07:47
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige