Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Die Updates sind abgeschlossen. Bitte meldet eventuelle Bugs und Auffälligkeiten im entsprechenden Forum.
Sollte das Loginfenster nicht sichtbar sein, ist es unten links. Entweder Ihr loggt Euch dort ein oder löscht den Browsercache und versucht es noch einmal.


Pastspecial funktioniert in VBA nur einmal
#1
Hallo Zusammen,

ich bin noch ein Neuling was VBA betrifft habe mir den folgenden Code zusammengesucht und umgestellt. Der Code funktioniert an sich auch.
Jedoch kommt nach einmaligem ausführen beim darauffolgenden mal die Fehlermeldung "Laufzeitfehler 1004" "Die PAstspecial-Methode des Range-Objekts konnte nicht ausgeführt werden". Huh Huh
Das Makros soll einen Bereich in Tabelle "Themenboard"  nach einer Leerzelle durchsuchen und daraufhin die Werte aus der Tabelle "Daten dort eintragen.

Hier der Code:

Sub Eingabeübertrag()
'
' Eingabeübertrag Makro
'
'
    ActiveSheet.Unprotect
    Application.ScreenUpdating = False
    Sheets("Daten").Select
    Range("D2:G2").Copy
    Sheets("Themenboard").Select
    ActiveSheet.Unprotect
    [D4Big Grin25].SpecialCells(xlBlanks).Cells(1).Select
    ActiveCell.Offset(0, -1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveSheet.Protect
    Sheets("Eingabe").Select
    Range("A1").Select
    ActiveSheet.Protect
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
   
End Sub


Vielen Dank schon mal im Voraus  Smile
Antwortento top
#2
Hallo,

Application.CutCopyMode = False

löscht ja auch die Zwischenablage.

Gruß Uwe
Antwortento top
#3
Danke Uwe für die schnelle Antwort.


Leider bringt die Änderung nichts.

Aber wird bei erneutem ausführen die Zwischenablage nicht neu mit den Zellen D2:G2 befüllt?

Gruß
Brian
Antwortento top
#4
Hallo Brian,

(28.10.2016, 07:00)briansen93 schrieb: Aber wird bei erneutem ausführen die Zwischenablage nicht neu mit den Zellen D2:G2 befüllt?

das ist richtig. Ich kann den Fehler in meinem Testaufbau auch nicht nachvollziehen.
Da wäre eine Beispieldatei, in der dieses Verhalten bei Dir auch auftritt, erforderlich.

Gruß Uwe
Antwortento top
#5
Hier die Datei


Angehängte Dateien
.xlsm   Testdatei.xlsm (Größe: 35,59 KB / Downloads: 6)
Antwortento top
#6
Hallo Brian,

ja, die Zwischenablage wird ab dem 2. Unprotect von Themenboard gelöscht. Frag mich nicht wieso.
Folgender Code kommt ohne Selects aus und überträgt die Werte direkt ohne Copy/Paste:
Sub Eingabeuebertrag1()
   Sheets("Eingabe").Unprotect
   Sheets("Themenboard").Unprotect
   With Sheets("Themenboard").Range("D4:D25")
     If Application.CountBlank(.Cells) Then
       .SpecialCells(xlBlanks).Cells(1).Offset(0, -1).Resize(, 4).Value = _
         Sheets("Daten").Range("D2:G2").Value
     Else
       MsgBox "Das Themenboard ist schon voll.", vbInformation
     End If
   End With
   Sheets("Eingabe").Protect
   Sheets("Themenboard").Protect
End Sub
Schaue auch mal hier rein:

Achtung Makrorekorder oder Wer selektiert denn da?
Performance (2) - Select Activate Bremsen und ein Beispiel

Gruß Uwe
Antwortento top
#7
Wow danke Uwe :Smile

Funktioniert einwandfrei *thumbsup*
Antwortento top
#8
Hallöchen,

die Excel-Zwischenablage wird bei verschiedenen Aktionen gelöscht, z.B. auch beim Anlegen / Kopieren oder Löschen von Blättern, Blattschutz einstellen oder aufheben, Speichern  usw.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste