Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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
Laufzeitfehler 4605
11.05.2020 13:11:08
David
Hallo und Guten Mittag,
ich übertrage mittels mehreren Unterprogrammen Tabellen aus Excel mit der Copy.Picture + Paste Methode. Dabei bekomme ich immer folgende Fehlermeldung: Laufzeitfehler 4605: Diese Methode oder Eigenschaft ist nicht verfügbar, weil die Zwischenablage entweder leer oder ungültig ist. Der Fehler tritt bei mehrmaliger Ausführung des Makros immer an anderen Stellen auf (meinst beim Paste-Befehl). Kann es sein, dass die Zwischenablage voll ist und er deswegen nichts mehr kopieren kann? Eines der Unterprogramme habe ich euch beispielhaft angefügt (sind alle gleich aufgebaut, es werden nur andere Tabellenblätter kopiert)
With ThisWorkbook.Worksheets("Input")
If Wagen6 = 1 Then
Set Liste = Sheets("Input").Range("D82")
Liste.AutoFilter
Liste.AutoFilter Field:=1, Criteria1:="1", VisibleDropDown:=False
If objDocument.Bookmarks.Exists("Wagen6") = True Then
.Range("Wagen6").CopyPicture 1, 2
Set objWordRange = objDocument.Bookmarks("Wagen6").Range
objWordRange.Paste
Set objWordRange = Nothing
End If
Liste.AutoFilter Field:=1
Set Liste = Sheets("Input").Range("D133")
Liste.AutoFilter Field:=1, Criteria1:="1", VisibleDropDown:=False
If objDocument.Bookmarks.Exists("Wagen6") = True Then
.Range("Wagen6").CopyPicture 1, 2
Set objWordRange = objDocument.Bookmarks("Wagen6").Range
objWordRange.Paste
Set objWordRange = Nothing
End If
Liste.AutoFilter Field:=1
End If
If Wagen5 = 1 Then
Set Liste = Sheets("Input").Range("AJ82")
Liste.AutoFilter
Liste.AutoFilter Field:=1, Criteria1:="1", VisibleDropDown:=False
If objDocument.Bookmarks.Exists("Wagen5") = True Then
.Range("Wagen5").CopyPicture 1, 2
Set objWordRange = objDocument.Bookmarks("Wagen5").Range
objWordRange.Paste
Set objWordRange = Nothing
End If
Liste.AutoFilter Field:=1
Set Liste = Sheets("Input").Range("AJ133")
Liste.AutoFilter
Liste.AutoFilter Field:=1, Criteria1:="1", VisibleDropDown:=False
If objDocument.Bookmarks.Exists("Wagen5") = True Then
.Range("Wagen5").CopyPicture 1, 2
Set objWordRange = objDocument.Bookmarks("Wagen5").Range
objWordRange.Paste
Set objWordRange = Nothing
End If
Liste.AutoFilter Field:=1
End If
If Wagen4 = 1 Then
Set Liste = Sheets("Input").Range("BO82")
Liste.AutoFilter Field:=1, Criteria1:="1", VisibleDropDown:=False
If objDocument.Bookmarks.Exists("Wagen4") = True Then
.Range("Wagen4").CopyPicture 1, 2
Set objWordRange = objDocument.Bookmarks("Wagen4").Range
objWordRange.Paste
Set objWordRange = Nothing
End If
Liste.AutoFilter Field:=1
Set Liste = Sheets("Input").Range("BO133")
Liste.AutoFilter
Liste.AutoFilter Field:=1, Criteria1:="1", VisibleDropDown:=False
If objDocument.Bookmarks.Exists("Wagen4") = True Then
.Range("Wagen4").CopyPicture 1, 2
Set objWordRange = objDocument.Bookmarks("Wagen4").Range
objWordRange.Paste
Set objWordRange = Nothing
End If
'das Spiel wiederholt sich nach dem Schema bis Wagen1...
End With
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 4605
11.05.2020 13:52:03
onur
Wieso benutzt du in Excel Word-Befehle wie
objWordRange = objDocument.Bookmarks
?
AW: Laufzeitfehler 4605
11.05.2020 14:06:53
David
Hallo Onur,
Da ich im Hauptprogramm ein Word-Doc öffne und die zu kopierenden Bereiche dort an Textmarken übergebe und einfüge.
Gruß David
AW: Laufzeitfehler 4605
11.05.2020 13:53:33
Nepumuk
Hallo David,
ein bekanntes Problem seit Excel 2007. Umgehen kannst du das so:
.Range("D82").AutoFilter Field:=1, Criteria1:="1", VisibleDropDown:=False
If objDocument.Bookmarks.Exists("Wagen6") Then
    On Error Resume Next
    Do
        .Range("Wagen6").CopyPicture xlScreen, xlBitmap
        If Err.Number = 0 Then Exit Do
        Err.Clear
    Loop
    Do
        objDocument.Bookmarks("Wagen6").Range.Paste
        If Err.Number = 0 Then Exit Do
        Err.Clear
    Loop
    On Error GoTo 0
End If

Gruß
Nepumuk
Anzeige
AW: Laufzeitfehler 4605
11.05.2020 16:05:24
David
Vielen Dank!! Aktuell läuft es Dank deines Inputs ohne Fehlermeldung :)
Viele Grüße David

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige