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

methode paste für das objekt _worksheet

methode paste für das objekt _worksheet
16.03.2021 09:37:40
Sven
Hallo,
ich hoffe mir kann jemand helfen. Ich bekomme bei folgendem Code Abschnitt ab und zu den Fehler _ "methode paste für das objekt _worksheet ist fehlgeschlagen". Die meiste Zeit läuft er ganz normal durch. Aber zwischendurch gibt es dann immer wieder den Fehler, und ich verstehe nicht warum da ich ja letztlich immer alles gleich mache.

Set wksNeu = Sheets.Add(After:=Sheets(Sheets.Count))
With wksNeu
Worksheets("Tabelle1").Shapes("Object 1").Copy
.Paste
Worksheets("Tabelle1").Shapes("TextBox 2").Copy
.Paste
Worksheets("Tabelle1").Shapes("Textbox 3").Copy
.Paste
.Shapes("Object 1").IncrementLeft 8.25
.Shapes("Object 1").IncrementTop 8.25
.Shapes("TextBox 2").IncrementLeft 78.25
.Shapes("TextBox 2").IncrementTop 8.25
.Shapes("TextBox 3").IncrementLeft 393.25
.Shapes("TextBox 3").IncrementTop 8.25
End With

Der Code wird über eine Userform aktiviert und steht in einem Modul der Arbeitsmappe. Mich wundert halt das der Code in den meisten Fällen funktioniert, somit ja nicht grundsätzlich falsch sein kann.
Gruß
Sven

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

Betreff
Datum
Anwender
Anzeige
AW: methode paste für das objekt _worksheet
16.03.2021 09:53:19
Nepumuk
Hallo Sven,
ein bekanntest Problem. Ich behelfe mir so:
Public Sub test()
    Dim wksNeu As Worksheet
    
    Set wksNeu = Worksheets.Add(After:=Sheets(Sheets.Count))
    With wksNeu
        Worksheets("Tabelle1").Shapes("Object 1").Copy
        On Error Resume Next
        Do
            .Paste
            If Err.Number = 0 Then Exit Do
            Call Err.Clear
        Loop
        On Error GoTo 0
        Worksheets("Tabelle1").Shapes("TextBox 2").Copy
        On Error Resume Next
        Do
            .Paste
            If Err.Number = 0 Then Exit Do
            Call Err.Clear
        Loop
        On Error GoTo 0
        Worksheets("Tabelle1").Shapes("Textbox 3").Copy
        On Error Resume Next
        Do
            .Paste
            If Err.Number = 0 Then Exit Do
            Call Err.Clear
        Loop
        On Error GoTo 0
        
        .Shapes("Object 1").IncrementLeft 8.25
        .Shapes("Object 1").IncrementTop 8.25
        .Shapes("TextBox 2").IncrementLeft 78.25
        .Shapes("TextBox 2").IncrementTop 8.25
        .Shapes("TextBox 3").IncrementLeft 393.25
        .Shapes("TextBox 3").IncrementTop 8.25
    End With
End Sub

Gruß
Nepumuk

Anzeige
AW: methode paste für das objekt _worksheet
16.03.2021 10:45:12
Sven
Hallo Nepumuk,
vielen Dank, funktioniert soweit.
Finde die Idee super. Bin mit der Error Sachen noch nicht so gut. Die Zeile Error Resume Next setzt quasi die Error Marke und mit Error goto 0 lösche ich die wieder um sie beim nächsten Objekt neu zusetzen oder? Damit mein persönlicher lerneffekt auch da ist. :-)
Nur nochmal eine kurze neben Frage, vielleicht fällt dir ja spontan eine Idee ein. Und zwar unten in dem Teil der die Objekte verschiebt, das ist ja immer gleich aufgebaut. Wenn ich mit F8 durchgehe funktioniert es bei allen 3, wenn ich den Makro mit F5 durchlaufe bzw mit meiner Schaltfläche aktiviere werden nur die beiden TextBoxen verschoben. Warum kann das so sein?
Gruß
Sven

Anzeige
AW: methode paste für das objekt _worksheet
16.03.2021 10:50:24
Nepumuk
Hallo Sven,
versuch es mal mit absoluten Angaben statt mit relativen. Also an Stelle von IncrementLeft und IncrementTop mit Left und Top.
Gruß
Nepumuk

AW: methode paste für das objekt _worksheet
16.03.2021 11:00:35
Sven
Hallo Nepumuk,
hat funktioniert. Manchmal ist es so einfach.
Dir auf jeden Fall vielen Dank und noch einen schönen Tag.
Gruß
Sven

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige