Simpler Copy Befehl scheitert

Bild

Betrifft: Simpler Copy Befehl scheitert
von: P-Quest :-)
Geschrieben am: 22.07.2015 16:32:21

Hallo,
ich möchte mit u.a. Code einen Tabellenbereich in ein anderes Tabellenblatt kopieren.
Eigentlich kein Problem, dachte ich, weil ich den entsprechenden Befehl an einer anderen Stelle in meinem Programm auch schon verwende.
Weit gefehlt. Der Code

Sub AktBestSik()
'aktuelle Bestände sichern
Dim wsQuelle As Worksheet
Dim wsZiel As Worksheet
Dim lngLastRow As Long
Dim lngz As Long           'Startzeile für kopierte Daten
Set wsQuelle = Worksheets("Stammdaten")
Set wsZiel = Worksheets("Datenblatt")
lngLastRow = wsQuelle.Cells(Rows.Count, 1).End(xlUp).Row
lngz = 20

wsQuelle.Range(Cells(5, 1), Cells(lngLastRow, 1)).Copy wsZiel.Range("A20")
wsQuelle.Range(Cells(5, 12), Cells(lngLastRow, 12)).Copy wsZiel.Range("B20")
End Sub
steigt beim ersten Copy Befehl mit Fehler 1004 aus:
Die Methode Range ist für das Worksheet Objekt fehlgeschlagen.
Bin ich zu dumm?
Hat jemand einen schärferen Verstand und ein schärferes Auge um mir zu sagen, wo ich da pfusche?
Gruß,
Peter

Bild

Betrifft: AW: Simpler Copy Befehl scheitert
von: Hajo_Zi
Geschrieben am: 22.07.2015 16:39:43
Hallo Peter,
Range bezieht sich auf wsQuelle und Cells auf die aktuelle Tabelle, das muss nicht die gleiche sein.


Bild

Betrifft: AW: Simpler Copy Befehl scheitert
von: P-Quest :-)
Geschrieben am: 22.07.2015 16:47:39
Danke hajo,
damit erklärt sich auch schon die Frage, die ich in meiner Ergänzung gestellt habe.
Aber wie bekomme ich das jetzt auseinander gehalten. Vor allem muss ich das ja auch noch bei dem Befehl korrigieren, den ich an einer anderen Stelle verwende. Das war dann wohl eher ein Glückstreffer, dass es dort funktioniert hat.
Gruß,
Peter

Bild

Betrifft: AW: Simpler Copy Befehl scheitert
von: Beverly
Geschrieben am: 22.07.2015 16:40:00
Hi Peter,
m.E. müsste es so heißen:

wsQuelle.Range(wsQuelle.Cells(5, 1), wsQuelle.Cells(lngLastRow, 1)).Copy wsZiel.Range("A20")
wsQuelle.Range(wsQuelle.Cells(5, 12), wsQuelle.Cells(lngLastRow, 12)).Copy wsZiel.Range("B20")

Denn andernfalls beziehst du dich auf 2 verschiedene Tabellenblätter und das versteht Excel selbstverständlich nicht.



Bild

Betrifft: AW: Simpler Copy Befehl scheitert
von: P-Quest :-)
Geschrieben am: 22.07.2015 16:50:20
Jepp, das war's. Danke!

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Simpler Copy Befehl scheitert"