Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zugriff auf Sheet im Hintergrund schlägt fehl

Zugriff auf Sheet im Hintergrund schlägt fehl
10.01.2020 12:27:39
Sascha
Hallo,
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf Sheet im Hintergrund schlägt fehl
10.01.2020 12:35:40
peterk
Hallo

ActiveWorkbook.Sheets(vName2).Range(ActiveWorkbook.Sheets(vName2).Cells(1, 1), ActiveWorkbook. _
Sheets(vName2).Cells(vRows, 1).End(xlToRight)).Copy
oder einfacher

With ActiveWorkbook.Sheets(vName2)
.Range(.Cells(1, 1), .Cells(vRows, 1).End(xlToRight)).Copy
end with

AW: Zugriff auf Sheet im Hintergrund schlägt fehl
10.01.2020 12:40:20
Nepumuk
Hallo Sascha,
weil sich die Cells-Eigenschaften ohne Verweis auf die aktive Tabelle beziehen.
Teste mal:
With ActiveWorkbook.Sheets(vName2)
.Range(.Cells(1, 1), .Cells(vRows, 1).End(xlUp)).Copy
.Cells(1, 2).PasteSpecial Paste:=xlPasteValues
End With

Gruß
Nepumuk
Anzeige
AW: Zugriff auf Sheet im Hintergrund schlägt fehl
10.01.2020 13:45:35
Sascha
Vielen Dank für die schnelle Hilfe.
Die Option mit dem With gefällt mir sehr gut.
auch dass der Cells Bezug ist ein sehr guter Hinweis, auch für weitere Makros.
Beste Grüße

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige