Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1716to1720
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

PasteSpecial: Methode schlägt fehl

PasteSpecial: Methode schlägt fehl
18.10.2019 13:06:59
Sven007
Hallo zusammen,
ich habe ein Makro, welches nur in einem Userform. Aus diesem Grund wird die Arbeitsmappe ausgeblendet:
ThisWorkbook.Activate
ActiveWindow.Visible = False
Eine der Schaltflächen des Userforms stößt eine Datenkopiererei an. Bei diesem PasteSpecial bekomme ich einen Laufzeitfehler, dass die Methode für das Objekt Range fehlgeschlagen sei.
myArr.Cells.Copy
wsZiel.Range("A19").PasteSpecial Paste:=xlPasteValues
Dieser Fehler tritt erst seit der Umstellung auf Excel 2016 auf - zuvor hatte ich keine Probleme.
Beim Debugen ist mir aufgefallen, dass ich das Problem nur habe, wenn keine weitere Excel-.Datei geöffnet ist. Starte ich also erst Excel (und somit eine leere Mappe) und dann mein Makro, arbeitet es fehlerfrei.
Habe ich hingegen kein Excel auf und starte das Makro aus dem Explorer heraus, bleibt der grüne Excel-2016-Startscreen stehen und mein Userform erscheint schon.
Ein Workaround wäre nun, vor der Datenkopiererei zu schauen, ob noch etwas geöffnet ist und bei Bedarf eine leere Datei anzulegen, aber trotzdem hätte ich gerne gewusst, was hier los ist und wie ich das Problem smarter lösen kann.
Danke und Grüße
Sven

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PasteSpecial: Methode schlägt fehl
18.10.2019 13:15:50
Daniel
HI
schwer zu sagen.
da Excel beim .PasteSpecial intern ein Select ausführt, könnte ich mir vorstellen, dass das mit dem ausgeblendeten Workbook nicht funktioniert.
da du nur Werte übertragen willst, könntest du die Werte auch so übergeben:
wsZiel.Range("A19").Resize(myArr.Rows.count, myArr.Columns.count).value = myArr.Value
aus dem Code schließe ich, dass myArr eine Range-Variable ist.
Gruß Daniel
AW: PasteSpecial: Methode schlägt fehl
18.10.2019 13:47:33
sven007
Hallo Daniel,
vielen Dank für die Rückmeldung.
Ja, es ist ein Range-Objekt und Dein Code scheint zu funktionieren. Allerdings kopiere ich an einer späteren Stelle die Formatierung von einer anderen Stelle her, nutze also wieder PasteSpecial:
With wsZiel
.Rows("16:16").Copy
.Range(.Cells(19, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(, lngLastColumn - 1)). _
PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End With
Hast Du hier auch eine Idee?
Grüße
Sven
Anzeige
AW: PasteSpecial: Methode schlägt fehl
18.10.2019 13:52:01
Werner
Hallo Sven,
vor dem Paste mit Application.Screenupdating = False die Bildschirmaktualisierung ausschalten - dann dein Zielblatt einblenden - Paste durchführen - Zielblatt wieder ausblenden.
Gruß Werner
AW: PasteSpecial: Methode schlägt fehl
21.10.2019 09:30:10
Sven007
Hallo Werner,
das hat leider keinen Einfluss auf das Problem. Der Fehler bleibt.
Wenn ich temporär eine leere Arbeitsmappe erstelle, dann klappt es. Komisch.
AW: PasteSpecial: Methode schlägt fehl
21.10.2019 15:21:18
Daniel
läuft es denn, wenn du das Fenster nicht ausblendest?
vielleichet reicht es dann ja, das Fenster nur zu minimieren, aber prinzipiell sichtbar zu lassen.
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige