AW: warum fehler 1004?
14.09.2016 17:45:38
Daniel
Hi
im Prinzip sind da zwei Fehler drin.
1. Fehler Cells in Range ohne Sheet:
Zellbezüge (Range, Cells, Columns, Rows) ohne Tabellenblattangabe davor beziehen sich immer auf das aktive Tabellenblatt, oder wenn der Code in einem Tabellenblattmodul steht, auf das Tabellenblatt des Moduls.
Wenn du jetzt vor der Range ein Sheet stehen hast, aber nicht vor den beiden Cells, die die Range definieren, dann liegen die Cells auf einem anderen Blatt als die Range, die sie definieren sollen und das ist Unsinn.
Wenn man eine Range über zwei Cells definert, dann müssen Range und Cells auf dem selben Tabellenblatt liegen:
Sheets("Dispo").Range(Sheets("Dispo").Cells(Festgeldcounter +LZD, 3), Sheets("Dispo").Cells(FestgeldCounter + LZD, 11))
etwas kürzer kann man die Range mit Resize beschreiben:
Sheets("Dispo").Cells(FestgeldCounter + LZD, 3).Resize(1, 9)
2. Fehler: Select über Tabellenblattgrenzen
ein Select kann nur auf dem Aktiven Tabellenblatt ausgeführt werden.
dh. du müsstest zuerst das Sheet "Dispo" aktivieren und dann dort die Zellen selektieren:
Sheets("Dispo").Select
ActiveSheet.Cells(Festgeldcounter + LZD, 3).Resize(1, 9).Select
Aber man kann mit Application.Goto einen Zellbereich in einem anderen Sheet direkt selektieren:
Application.Goto Sheets("Dispo").Cells(FestgeldCounter + LZD, 3).Resize(1, 9)
bei Select sollte man immer überlegen, ob das überhautp notwendig ist, normalerweise kommt man in VBA ohne es aus.
Gruß Daniel