Office: (Office 365) VBA: Kein "Undo" mehr möglich?

Helfe beim Thema VBA: Kein "Undo" mehr möglich? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe meine Bestell-Tabelle so abgeändert, dass einiges per Makro, bzw. mittels Buttons übertragen wird. Also zum Beispiel wird mit einem... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Andreas7611, 14. November 2025.

  1. Andreas7611 Erfahrener User

    VBA: Kein "Undo" mehr möglich?


    Hallo,

    ich habe meine Bestell-Tabelle so abgeändert, dass einiges per Makro, bzw. mittels Buttons übertragen wird.
    Also zum Beispiel wird mit einem Klick auf den Button die Lieferadresse gleich der Rechnungsadresse gesetzt, oder es wird ein Preis ausgerechnet und eingetragen usw.
    Das ganze hat (für mich) den Vorteil, dass die Zellen selber keine Formeln haben, die man versehentlich überschreiben kann, bzw. kann die Werte am Ende noch nacharbeiten, was sehr praktisch ist.

    Wie dem auch sei. Mir ist jetzt aber auch aufgefallen, dass man diese Aktionen nicht via "Undo" rückgängig machen kann. Wenn jetzt also z.B. jemand versehentlich auf den Button klickt, der die Lieferadresse überschreibt, ist das natürlich doof, wenn man das nicht rückgängig machen kann.
    Aber für mich im Geiste ist das ja eigentlich auch nur eine Eintragung, deswegen verstehe ich nicht, warum man das nicht rückgängig machen kann.

    Alternativ müsste ich bei jedem Button erst ein "Willst du das wirklich?" Fenster vorschalten, aber das möchte ich nun wirklich nicht.

    Aber die Kernfrage ist erstmal, ob Eintragungen mit Range("xx").Value nicht "rückgängig" gemacht werden können?

    Vielen Dank

    Andreas
     
    Andreas7611, 14. November 2025
    #1
  2. RPP63_neu
    RPP63_neu Erfahrener User
    Moin!
    Aktionen mittels VBA löschen den Undo-Speicher.
    Dies seit jeher so …
    Es gibt zwar Application.Undo [klick], aber das hilft hier auch nicht.

    Gruß Ralf
     
    RPP63_neu, 14. November 2025
    #2
  3. R J
    R J hat Ahnung
    Moin,

    ergänzend zu Ralf's Erklärung:
    Du könntest Dir aber eine interne Undo-Funktion programmieren, indem Du Dir für die betreffenden Zellen (Intersect) eine öffentliche Variable nutzt, die sich immer den letzten Wert vor der Änderung (im Selection_Change Ereignis) merkt und den über einen Rückgängig Button zurückschreiben kann.
     
  4. Andreas7611 Erfahrener User

    VBA: Kein "Undo" mehr möglich?

    Danke für die Erklärung. Das ist ja schon fast ein Bug als eine Funktion..
    Da dieses "Fehlverhalten" letzten Endes auf mehrere Aktionen zutrifft, wäre das Programmieren einer Undo-Funktion vermutlich eher Fleißarbeit und - bei mir - vermutlich Fehlerbehaftet.
    Ich glaube dann werde ich vorher eine Checkbox machen, die prüft ob die überschriebene Zelle bereits einen Wert enthält und wenn ja, dann kommt kurz ein Fenter, welches fragt, ob man die Werte wirklich überschreiben möchte. Ich glaube das wäre am Sinnvollsten.
     
    Andreas7611, 15. November 2025
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi Andreas,

    wenn du keine Abfrage für die einzelnen Button machen willst - hast du schon mal darüber nachgedacht, die Eintragungen nicht über Button im Tabellenblatt zu machen sondern das ganze als UserForm zu programmieren? Dort kann man ja immer alles nochmal nachlesen bevor man die Änderung(en) dann auch tatsächlich ausführt.


    VBA: Kein "Undo" mehr möglich? GrußformelVBA: Kein "Undo" mehr möglich? Beverly's Excel - Inn
     
  6. R J
    R J hat Ahnung
    Das ist weniger aufwendig als Du denkst. Hab Dir mal ein Beispiel angehängt, dass per Button den Wert aus E5 in C5 schreibt und über einen anderen Button das wieder rückgängig macht. Musst Du natürlich an Deine Bedingungen anpassen...
     
Thema:

VBA: Kein "Undo" mehr möglich?

Die Seite wird geladen...
  1. VBA: Kein "Undo" mehr möglich? - Similar Threads - VBA Undo

  2. Kann keinen VBA Kode eingeben

    in Microsoft Excel Hilfe
    Kann keinen VBA Kode eingeben: Hallo, ich habe eine Excel Datei bekommen in Format .xlsm. In Editor kann ich Formulare und Module anlegen und Kode einfügen und ausführen. Nun wollte ich Kode hinzufügen der direkt nach dem...
  3. VBA prüfen - eventuell Fehler

    in Microsoft Access Hilfe
    VBA prüfen - eventuell Fehler: Hallo Fachkräfte, hier ein VBA-Modul das einen Fehler enthalten soll. Case 2 wurde in 2022 geändert. In Case 3 , 4 oder ... soll auch noch ein Fehler sein. Wo genau was falsch ist und wie...
  4. VBA: Fehler 0x800a03ec beim Ribbon

    in Microsoft Excel Hilfe
    VBA: Fehler 0x800a03ec beim Ribbon: Hallo, ich habe eine Tabelle, die ich ohne Titelleiste anzeigen lassen möchte. Dazu habe ich mir zwei Makros geschrieben Sub AusBlenden() CommandBars("Worksheet Menu Bar").Enabled = False...
  5. Dateiname der aktuellen Datei als Variable

    in Sonstiges
    Dateiname der aktuellen Datei als Variable: Hallo in die Runde, kann ich unter VBA (Excel/Outlook) den Namen der aktuellen Datei auslesen und in einer Variable weiterverarbeiten? Danke im Voraus, Andreas
  6. Makro um E-Mails zu verschieben

    in Microsoft Outlook Hilfe
    Makro um E-Mails zu verschieben: Ich suche ein Makro das ich auf einem Rechner ausführen lassen kann um gelesene Mails z.B. auf dem Handy in einen bestimmten Ordner zu verschieben um meinen Posteingang "sauber" zu halten....
  7. Access VBA – Prüfen, ob eine PDF bereits geöffnet ist, bevor sie erneut geöffnet wird

    in Microsoft Access Hilfe
    Access VBA – Prüfen, ob eine PDF bereits geöffnet ist, bevor sie erneut geöffnet wird: Beschreibung: Ich arbeite mit Access VBA und habe eine Funktion implementiert, die beim Klick auf einen Button („Unterzeichnet“) einen Bericht als PDF exportiert. Was aktuell funktioniert:...
  8. VBA: Was ist "Tabelle1"?

    in Microsoft Excel Hilfe
    VBA: Was ist "Tabelle1"?: Hallo, ich bin gerade dabei einen VBA-Code für meine Zwecke anzupassen. Leider funktioniert eine der Berechnungen nicht mehr und ich bin nun auf Fehlersuche. Dabei verstehe ich (unter anderem)...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden