PDA

Vollständige Version anzeigen : range(cells...) funktioniert icht


phobos
16.07.2012, 15:46
Hi.

bei folgender Stelle kommt Fehlermeldung
Laufzeitfehler 1004, Andwendungs oder Objektdefinierter Fehler

Workbooks(Datei2).Worksheets(aktMonat).Range(Cells(letzteZeile - 7, 1), Cells(letzteZeile, 1)).Copy


verwende ich stattdessen diesen Code, kommt keine Fehlermeldung.
Workbooks(Datei2).Worksheets(aktMonat).Range("b3:b4").Copy

Der erste Code funktioniert an anderer Stelle einwandfrei. Allerdings ist es dort eine andere Arbeitsmappe.

Irgendwie kommt er mit der Rangezuweisung nicht klar.
Ich verstehe nur nicht wieso?

chris-kaiser
16.07.2012, 15:49
hi

with Workbooks(Datei2).Worksheets(aktMonat)
.Range(.Cells(letzteZeile - 7, 1), .Cells(letzteZeile, 1)).Copy
end with

phobos
16.07.2012, 15:52
hi chris,

funktioniert! Aber wieso mit with und ohne nicht?

chris-kaiser
16.07.2012, 16:00
Hi

das with hat damit gar nichts zu schaffen! :)


Workbooks(Datei2).Worksheets(aktMonat).Range(Workbooks(Datei2).Worksheets(aktMon at).Cells(letzteZeile - 7, 1), Workbooks(Datei2).Worksheets(aktMonat).Cells(letzteZeile, 1)).Copy

so geht es auch, nur mit With ist es kürzer
du hast vor deinen anderen Cells keine Angabe der Herkunft gehabt!
(die Referenz darauf war nicht gegeben)

phobos
17.07.2012, 06:24
Hi Chris,

Das kann ich nicht nachvollziehen, denn
Workbooks(Datei2).Worksheets(aktMonat).Range(Cells(letzteZeile - 7, 1), Cells(letzteZeile, 1)).Copy
hat an anderer Stelle funktioniert. Es wurde da jediglich eine andere Mappe angesprochen.
Workbooks(Datei1).Worksheets("Juli")

Na seis drum. Jetzt jetzt geht es ja.
Danke;)

chris-kaiser
17.07.2012, 06:31
Hallo Mario

Das kann ich nicht nachvollziehen
;), doch kannst du.

Sheets(1).range(cells(1,1),cells(1,5)).copy

führe das im ersten Tabellenblatt aus...->
geht ohne Probleme.

Nun wechsle mal auf das zweite Tabellenblatt und führe erneut den Code aus.
Ich glaube zu wissen das dann ein 1004 kommt. ;)