pastespecial nach cut erz. Fehler

Bild

Betrifft: pastespecial nach cut erz. Fehler
von: P-Quest :-)
Geschrieben am: 23.07.2015 20:35:04

Hallo,
mit folgendem Code kopiere ich Daten von a nach b.

Sub abc()
...
With wsQuelle
        '.Range(.Cells(5, 1), .Cells(lngLastRow, 10)).Copy wsZiel.Range("A1") 'Titelzeile  _
kopieren
        .Range(.Rows(6), .Rows(lngLastRow)).Cut           'Daten ausschneiden
        With wsZiel.Range("A1")
            .PasteSpecial (xlPasteValues)                           'Daten als Werte einfügen
            .PasteSpecial (xlPasteFormats)                          'Formate übernehmen
        End With
    End With
...
End Sub
Leider erhalte ich die Fehlermeldung:
Laufzeitfehler 1004
Die Methode pastespecial des Range Objects konnte nicht ausgeführt werden.
Der gleiche Code mit copy funktioniert.
Könnte es daran liegen, das es sich bei der Quelle um das Filterergebnis einer "intelligente" Tabelle handelt?
Oder ist es mal wieder einer meiner dummen Logikfehler?
Was auch immer, über Hilfe freu ich mich...wie immer :-)
Gruß,
Peter

Bild

Betrifft: Nachtrag
von: P-Quest :-)
Geschrieben am: 23.07.2015 20:36:59
Der Debugger markiert die Zeile
.PasteSpecial (xlPasteFormats) 'Formate übernehmen
als fehlerhaft.

Bild

Betrifft: Nachtrag zum Nachtrag
von: P-Quest :-)
Geschrieben am: 23.07.2015 20:38:57
.PasteSpecial (xlPasteValues)
ist der Übeltäter.
Falsch kopiert.
Bin wohl überarbeitet...

Bild

Betrifft: AW: Nachtrag zum Nachtrag
von: Werner
Geschrieben am: 23.07.2015 23:44:26
Hallo,
heiß das nicht

.PasteSpecial Paste:=xlPasteValues
Gruß Werner

Bild

Betrifft: AW: Nachtrag zum Nachtrag
von: Matthias L
Geschrieben am: 24.07.2015 00:28:55
Hallo Werner
Man kann auch

PasteSpecial (xlPasteValues)

schreiben.
wichtig ist PasteSpecial
Das funktioniert aber nur bei Copy, nicht bei Cut
Die Zellen behalten ja bei Cut ihren Wert und ihr Format.
Gruß Matthias

Bild

Betrifft: AW: Nachtrag zum Nachtrag
von: Matthias L
Geschrieben am: 24.07.2015 00:21:49
Hallo
Wenn Du ausschneidest, haben doch die Zellen alle schon ein Format und einen Inhalt
Benutze Destination
Nach diesem Motto:

Dim WKSQuelle As Worksheet
Dim WKSZiel As Worksheet
Set WKSQuelle = Worksheets("Tabelle1")
Set WKSZiel = Worksheets("Tabelle2")
    WKSQuelle.Rows("3:6").Cut Destination:=WKSZiel.Range("A1")
Gruß Matthias

Bild

Betrifft: AW: Nachtrag zum Nachtrag
von: P-Quest :-)
Geschrieben am: 24.07.2015 11:17:14
Besten Dank an euch Beide. Da fängt der Tag doch schon wieder schön an :-)

 Bild

Beiträge aus den Excel-Beispielen zum Thema "pastespecial nach cut erz. Fehler"