AW: Fehler 1004
21.09.2015 16:20:14
Daniel
Hi
du kannst immer nur auf dem aktiven Tabellenblatt einen Zellbereich selektieren.
wenn du einen Zellbereich auf einem nicht aktiven Tabellenblatt selektieren willst, dann musst du zuerst dieses Tabellenblatt selektieren, denn die Select-Funktion kann diesen Blattübergreifenden Sprung nicht ausführen:
wksKBB_CRM
.Select
.Cells(lz1 + 1, 3).Select
wenn das Tabellenblatt auch noch in einer anderen Datei liegt, müsstest du die vorher auch noch selektieren, weil du genauso ein Tabellenblatt nur in der aktiven Datei selektieren kannst:
wksKBB_CRM
.Parent.Select
.Select
.Cells(lz1 + 1, 3).Select
alternativ kann man auch den Sprung mit Application.Goto ausführen:
wksKBB_CRM
Application.Goto .Cells(lz1 + 1, 3)
allerdings ist das alles in 99% aller Fälle nicht notwendig, weil man in VBA die Befehle auch direkt an die Zellbereiche anhängen kann, ohne die vorher zu selektieren.
Das Selektieren ist allein der Tatsache geschuldet, dass wir Anwender mit der Maus arbeiten und immer erst das Objekt und danach den Befehl auswählen. Der Recorder muss dass dann auch so aufzeichnen, aber notwendig ist es für die Programmierung nicht.
With wksKBB_Ub
.Range(.Cells(10 + i, 3), .Cells(10 + i, ls)).Copy
End With
wksKBB_CRM.Cells(lz1 + 1, 3).PasteSpecial xlpasteall
Gruß Daniel