Excel VBA – Eingaben sofort rückgängig machen

Excel VBA - Eingaben sofort rückgängig machen

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
In diesem Beitrag zeige ich Ihnen einen coolen Trick mit dem Sie einen bestimmten Bereich vor Änderungen schützen können. Die Eingabe wird zunächst zugelassen, diese wird jedoch sofort rückgängig gemacht.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

Dazu legen wir ein VBA Ereignis an.
Wechseln Sie mit ALT+F11 in die Entwicklungsumgebung und doppelklicken Sie die Tabelle, die Sie schützen wollen.
Tabellenereignis anlegen
Wählen Sie im ersten Dropdown Worksheet und im zweiten Change aus.
Worksheet_Change Event
Als Erstes definieren wir eine Variable vom Typ Range.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range

End Sub

Danach legen wir fest wo in der Tabelle der zu schützende Bereich liegt. Wir wollen die Zellen A1 bis D10 schützen.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range

Set Bereich = Range("A1:D10")
End Sub

Unternehmensplanung mit SAP BPC

111 VBA Makros die Ihr Leben leichter machen

Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.

Im nächsten Schritt prüfen wir, ob die geänderte Zelle im Zielbereich liegt. Ist es der Fall, wird die Änderung über die Methode Application.Undo widerrufen. Da diese Anweisung wiederrum ein Change Ereignis auslöst, müssen wir die Ereignis Steuerung über Application.EnableEvents temporär ausschalten. Nach dem Widerruf wird diese sofort wieder eingeschaltet.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range

Set Bereich = Range("A1:D10")

If Intersect(Target, Bereich) Is Nothing Then

Else

Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True

End If
End Sub

Probieren Sie es aus!
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
  • Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Bildquelle: Pexels, CC0 License

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.