Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
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

Plötzlich Problem mit paste-Methode

Plötzlich Problem mit paste-Methode
27.04.2023 08:28:02
pana

Servus,

ich habe ein Makro welches ich schon seit 2-3 Jahren problemlos verwende. Seit ein paar Tagen kommt jedoch unregelmäßig ein Fehlermeldung beim kopieren und einfügen von Zellen zu einem anderen Arbeitsblatt in der selben Mappe. Das Problem taucht nicht immer auf, klingt fast als würde sich Excel aufhängen. Wenn ich das Makro nach dem Fehler beende hängt es sich auf und ist nur noch über den Taskmanager zu beenden.

letzteSpalte = Sheets(Basis).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
        Sheets("Import").Select
        Range("A1:C1").Select
        Selection.Copy
        Sheets(Basis).Select
        Range("A" & letzteSpalte).Select
        ActiveSheet.Paste
        Sheets("Import").Select
        Rows("1:1").Select
        Selection.Delete Shift:=xlUp
        Sheets(Basis).Select



Excel bringt dann die Fehlermeldung:
Laufzeitfehler '-2147417848 (80010108)':
Die Methode 'Paste' für das Objekt '_Worksheets' ist fehlgeschlagen

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Plötzlich Problem mit paste-Methode
27.04.2023 08:31:22
pana
Was mir grade noch eingefallen ist:
Das Makro ist nur in dieser Arbeitsmappe gespeichert und läuft in einem Modul. Vor kurzem habe ich noch ein PERSONAL.XLSB hinzugefügt, was aber in dieser Arbeitsmappe nicht ausgeführt wird. Kann es trotzdem zu Problemen damit kommen?


AW: Plötzlich Problem mit paste-Methode
27.04.2023 08:40:41
Oberschlumpf
Hi,

Ok, erst mal...deinen Code kann man sehr stark verkürzen, nämlich so:


letzteSpalte = Sheets(Basis).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
         Sheets("Import").Range("A1:C1").Copy Sheets(Basis).Range("A" & letzteSpalte).Paste
         Sheets("Import").Rows("1:1").Delete Shift:=xlUp
         Sheets(Basis).Select
VIELLEICHT ist ja DAS schon die Lösung, weil das häufige Hin- und Herspringen mit Select wegfällt.

Hilfts?
Nein? Dann zeig bitte per Upload eine Bsp-Datei mit Bsp-Daten in allen Blättern, den richtigen Blattnamen und deinem Code.

Ciao
Thorsten


Anzeige
AW: Plötzlich Problem mit paste-Methode
27.04.2023 09:18:10
pana
Ciao Thorsten,

Dein Code spuckt beim Paste-Befehl einen Laufzeitfehler 438 aus "Objekt unterstützt diese Eigenschaft oder Methode nicht".
Kannst du mir helfen wo ich das korrigieren kann?


AW: Plötzlich Problem mit paste-Methode
27.04.2023 09:23:21
UweD
Hallo

ungetestet...

Wenn des Zielbereich direkt hinter dem .copy angegeben wird, dann ist das .paste zuviel.

Also:
Sheets("Import").Range("A1:C1").Copy Sheets(Basis).Range("A" & letzteSpalte)
reicht in der Zeile

LG UweD


AW: Plötzlich Problem mit paste-Methode
27.04.2023 09:33:08
Oberschlumpf
Hi,

stümmt...ich hatte "schlampig" gearbeitet - Uwe hat den richtigen Tipp geschrieben

Und wenn das auch nich hilft - zeig uns doch bitte ne Bsp-Datei per Upload

Ciao
Thorsten


Anzeige
AW: Plötzlich Problem mit paste-Methode
28.04.2023 08:44:25
pana
Moin,
scheinbar hat das Kürzen des Codes schon geholfen, zumindest ist es jetzt beim Testen nicht mehr aufgetreten. Vielen Dank dafür!
Würde zwar inzwischen behaupten dass ich fast alles irgendwie bei vba hinbekomme, nur die Effizienz des Codes ist da wohl eher mit einem Kartenhaus vergleichbar :-D.


AW: Plötzlich Problem mit paste-Methode
28.04.2023 09:20:31
Daniel
Schlechte Effizienz kommt häufig daher, das viele das Programmieren von Excel mit Hilfe des Recorders erlernen.
Das ist prinzipiell nicht verkehrt, man muss aber beachten, dass der Recorder immer die Arbeitsweise des Menschen aufzeichnet, welche durch die Verwendung der Maus geprägt ist und immer in den Schritten abläuft:
1. Objekt auswählen, das bearbeitet werden soll
2. Befehl auswählen, der auf das Objekt angewendet werden soll
dies führt dann zu der Befehlsfolge:
Objekt.Select
Selection.Befehl
in VBA muss man das aber nicht machen, denn man kann den Befehl auch immer direkt an das Objekt anhängen:
Objekt.Befehl
Dh der vom Recorder aufgezeichnete Code sollte immer überarbeitet werden.
Die Vorteile des kurzen Codes sind:
- ist übersichtlicher
- ist schneller in der ausführung
- ist weniger Fehleranfällig
- weitere Optimierungsmaßnahmen wie Einsatz von Schleifen usw werden schneller erkannt

Gruß Daniel


Anzeige
AW: Plötzlich Problem mit paste-Methode
27.04.2023 11:22:45
onur
Sollte "letzteSpalte" nicht "letzteZeile" heissen ?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige