Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fehler PasteSpecial-Methode kann nicht

Fehler PasteSpecial-Methode kann nicht
11.02.2005 10:31:59
Gisela
Hallo zusammen,
ich erhalte bei folgendem Makro immer Laufzeitfehler 1004:
Die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden

Sub Patenübernahme()
Application.ScreenUpdating = False
Sheets("Grunddaten").Select
Range("F702:G1200").Select
Selection.Copy
Sheets("Patenzu").Select
ActiveSheet.Unprotect ("mix1877")
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select
Call leeren1
ActiveSheet.Protect ("mix1877")
End Sub

Kann mir bitte jemand helfen, was ich verändern muss.
Vielen Dank und liebe Grüße
Gisela
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler PasteSpecial-Methode kann nicht
HerbertH
hallo Gisela,
probiers so:

Sub Patenübernahme()
Application.ScreenUpdating = False
Sheets("Patenzu").Unprotect "mix1877"
Sheets("Grunddaten").Range("F702:G1200").Copy
Sheets("Patenzu").Range("A2").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'  Call leeren1
Sheets("Patenzu").Protect ("mix1877")
Application.ScreenUpdating = True
End Sub

gruß Herbert
Anzeige
AW: Fehler PasteSpecial-Methode kann nicht
Gisela
Hallo Herbert,
Sorry, hat etwas gedauert mit der Antwort.
Musste noch einige andere Sachen erledigen.
Funktioniert jetzt.
Vielen Dank für Deine Hilfe
und ein schönes Wochenende
Gisela
AW: Fehler PasteSpecial-Methode kann nicht
HerbertH
hallo Gisela,
zu dem Satz
"Sorry, hat etwas gedauert mit der Antwort"
es gibt hier viele, die antworten überhaupt nicht...
ebenfalls schönes WE
gruß Herbert
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Fehlerbehebung bei der PasteSpecial-Methode in Excel VBA


Schritt-für-Schritt-Anleitung

Hier ist eine einfache Schritt-für-Schritt-Anleitung zur Behebung des Fehlers "Die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden" in Excel VBA:

  1. Makro öffnen: Öffne dein Excel-Dokument und gehe in den VBA-Editor (ALT + F11).

  2. Makro anpassen: Suche das Makro, das den Fehler verursacht. Es könnte ähnlich aussehen wie das folgende Beispiel:

    Sub Patenübernahme()
        Application.ScreenUpdating = False
        Sheets("Grunddaten").Select
        Range("F702:G1200").Select
        Selection.Copy
        Sheets("Patenzu").Select
        ActiveSheet.Unprotect ("mix1877")
        Range("A2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Range("A2").Select
        Call leeren1
        ActiveSheet.Protect ("mix1877")
    End Sub
  3. Code anpassen: Ändere den Code wie folgt:

    Sub Patenübernahme()
        Application.ScreenUpdating = False
        Sheets("Patenzu").Unprotect "mix1877"
        Sheets("Grunddaten").Range("F702:G1200").Copy
        Sheets("Patenzu").Range("A2").PasteSpecial Paste:=xlPasteValues, _
        Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        '  Call leeren1
        Sheets("Patenzu").Protect ("mix1877")
        Application.ScreenUpdating = True
    End Sub
  4. Makro testen: Speichere die Änderungen und führe das Makro erneut aus, um zu überprüfen, ob der Fehler behoben ist.


Häufige Fehler und Lösungen

Hier sind einige häufige Fehler, die auftreten können, sowie deren Lösungen:

  • Fehler: "Die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden"

    • Lösung: Stelle sicher, dass die Daten, die du kopieren möchtest, tatsächlich vorhanden sind und dass du die richtigen Bereiche in deinem Code angibst.
  • Fehler: Arbeitsblatt ist geschützt

    • Lösung: Stelle sicher, dass du das Arbeitsblatt mit Unprotect entsperrst, bevor du versuchst, Werte einzufügen.
  • Fehler: Bereich nicht ausgewählt

    • Lösung: Überprüfe, ob Du den richtigen Bereich zum Kopieren und Einfügen angibst. Vermeide die Verwendung von Select und Selection, um den Code effizienter zu gestalten.

Alternative Methoden

Falls die PasteSpecial-Methode weiterhin Probleme bereitet, kannst du auch alternative Methoden verwenden:

  • Direktes Zuweisen: Anstatt die PasteSpecial-Methode zu verwenden, kannst du die Werte direkt zuweisen:

    Sheets("Patenzu").Range("A2").Value = Sheets("Grunddaten").Range("F702:G1200").Value
  • Verwendung von Arrays: Du kannst die Daten in ein Array laden und dann das Array in den Zielbereich schreiben, was oft schneller ist:

    Dim data As Variant
    data = Sheets("Grunddaten").Range("F702:G1200").Value
    Sheets("Patenzu").Range("A2").Resize(UBound(data, 1), UBound(data, 2)).Value = data

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die PasteSpecial-Methode in verschiedenen Szenarien einsetzen kannst:

  • Einfügen von Werten ohne Formatierung:

    Sheets("Patenzu").Range("A2").PasteSpecial Paste:=xlPasteValues
  • Einfügen von Formeln:

    Sheets("Patenzu").Range("A2").PasteSpecial Paste:=xlPasteFormulas
  • Einfügen und Transponieren:

    Sheets("Patenzu").Range("A2").PasteSpecial Paste:=xlPasteValues, Transpose:=True

Diese Beispiele zeigen, wie flexibel die PasteSpecial-Methode in Excel VBA eingesetzt werden kann.


Tipps für Profis

  • Vermeide Select und Selection: Diese können den Code verlangsamen und sind nicht notwendig. Arbeite direkt mit den Objekten.

  • Fehlerbehandlung einfügen: Verwende On Error Resume Next, um Fehler abzufangen und den Code robuster zu machen.

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0
  • Verwende Application.CutCopyMode = False: Um den Kopiermodus zu beenden, kannst du diesen Befehl am Ende deines Codes hinzufügen.


FAQ: Häufige Fragen

1. Was bedeutet der Fehler "Die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden"? Dieser Fehler tritt auf, wenn Excel versucht, eine PasteSpecial-Operation auszuführen, die aufgrund von ungültigen Daten oder einem geschützten Arbeitsblatt fehlschlägt.

2. Wie kann ich sicherstellen, dass ich die richtigen Bereiche auswähle? Verwende die .Range-Eigenschaft anstelle von .Select, um sicherzustellen, dass du direkt mit den Daten arbeitest, ohne sie vorher auszuwählen.

3. Kann ich die PasteSpecial-Methode auch ohne VBA verwenden? Ja, in Excel kannst du auch die PasteSpecial-Funktion über das Kontextmenü verwenden, indem du nach dem Kopieren mit der rechten Maustaste klickst und "Inhalte einfügen" wählst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige