habe eine Kurze Frage. Und zwar:
Wieso klappt der untenstehende Code nur, wenn das Sheet bereits geöffnet ist, nicht aber wenn ein anderes Tabellenblatt aktiv ist? Wenn ich den Code aufteile mit Activate und dann die Range setze, klappt die ganze Geschichte auch. Daher hoffe ich, jemand weiß, wie ich das ganze umsetzen kann, ohne die Blätter hin und her zu aktivieren. (irgendwann kam mal eine Fehlermeldung von Wegen Fokus... aber in der Regel kommt:
"Anwendungs- oder Objektorientierter Fehler")
Doing-Backup: ich lese aus 2 Quellblättern zwei Matrizen aus (klappt soweit so gut). Nachdem die erste ausgelesen ist, kopiere ich diese auf ein neues Blatt, das benenn ich dann direkt wie gewünscht um. Ziel ist nun, die Matrix/Daten aus dem zweiten Blatt, in die Spalten daneben einzufügen, ohne das Blatt zu wechseln - damit kann das neue offen bleiben und erspart erneutes .Activate.
Geht nicht (nur wenn das Sheet bereits geöffnet ist):
ActiveWorkbook.Sheets(vName2).Range(Cells(1, 1), Cells(vRows, 1).End(xlToRight)).Copy
Geht immer:
ActiveWorkbook.Sheets(vName2).Activate
Range(Cells(1, 1), Cells(vRows, 1).End(xlToRight)).Copy
Zusatzfrage: ist der Befehl zum direkt daneben einfügen so korrekt (mit kleiner Probe hats geklappt)
ActiveSheet.Cells(1, 1).End(xlToRight).Offset(0, 1).PasteSpecial Paste:=xlPasteValues
Für Fragen stehe ich gerne Bereit.
Beste Grüße und vielen Dank Vorweg
Sascha