Da haben wir ein tolles Formular in Excel konstruiert, haben jede
Menge Checkboxen und Dropdownfelder zur Auswahl eingebaut und
zudem noch eine riesige Menge normale Eingabezellen spendiert.
Der Anwender kann nun prima ausfüllen.Ganz großartig.
Was aber ist, wenn er das nächste Formular bearbeiten, oder
wenn er noch einmal von vorne beginnen möchte?
Schließt er dann das Formular und liest es erneut ein? Oder schlimmer
noch: Soll er von Hand alle Zellen löschen und die Felder wieder "frei"
klicken? Wie unpraktisch.
Wäre ein "Reset-Button" nicht die bessere Wahl?
Damit der Anwender unsere Mühe nicht zunichte macht, wollen wir
außerdem das Formular sperren und nur die Felder und Eingabezellen
zur Bearbeitung freigeben.
Die normalen Eingabezellen sind schnell markiert und über Format/Zellen
entsperrt. Die Formularfelder bzw. die Steuerelemente können aber zur
Formatierung nur einzeln selektiert werden. Das soll ein Makro übernehmen,
sonst klicken wir uns die Finger wund.
Soll das Formular später überarbeitet werden, so soll ein Makro alle
Blätter in einem Schritt sperren oder entsperren - also immer den
jeweils anderen Zustand, als den gerade vorhandenen, herstellen.
Der Blattschutz verfügt über kein Passwort, weil wir dem Anwender
ja vertrauen ^^. Der Blattschutz soll nur ein versehentliches Ändern
verhindern.
Die "CommandButtons" sind nichts Besonderes:
Auf jedem Formular-Blatt gibt es einen - um das eine
jeweils sichtbare Blatt zurückzusetzen. Nur auf Formular 1
gibt es zusätzlich einen "Reset All" Button der alle
Formularblätter auf einmal "resettet".
Das ist hier nur der Vollständigkeit halber noch einmal
aufgeführt.
Option Explicit
Private Sub CommandButton1_Click() If Antwort("alle Eingaben in ""Kundendaten""") = vbNo Then Exit Sub Allgemein_loeschen End Sub
Private Sub CommandButton2_Click() If Antwort("alle Eingaben auf allen Blättern") = vbNo Then Exit Sub Allgemein_loeschen Musteranforderung_loeschen Erstauftrag_loeschen End Sub