Akzeptieren Sie gültige Daten nur vom Benutzer in Excel VBA

Anonim

In meiner letzten Aufgabe musste ich Eingaben des Benutzers akzeptieren. Ein Eingabewert war das Geburtsdatum und es muss natürlich ein Datum sein. Was ich tat, war das Speichern der Eingabe in einem Variant-Datentyp. Dadurch war der Code fehlerfrei und der Code akzeptierte jeden Wert, den der Benutzer angab. Unten ist der Code:

Dim dob As Variant dob ​​= Application.InputBox("Geben Sie Ihr Geburtsdatum ein") 

Dies war natürlich ein falscher Ansatz, da der Benutzer jeden Wert eingeben kann, der möglicherweise kein gültiges Datum ist.

Ich möchte, dass mein Code jedes ungültige Datum erkennt und den Benutzer auffordert, ein gültiges Datum einzugeben und die Unterroutine zu beenden.

Hier ist der Code, mit dem Benutzer nur ein gültiges Datum als Eingabe eingeben können.

Sub check_date() Dim dob As Date On Error GoTo Errorhandler dob = Application.InputBox("Geben Sie Ihr Geburtsdatum ein") On Error GoTo 0 Debug.Print dob ​​Exit Sub Errorhandler: MsgBox "Bitte geben Sie ein gültiges Datum ein." End Sub 

Wenn Sie den obigen Code ausführen, werden Sie aufgefordert, Ihr Geburtsdatum einzugeben. Wenn Sie ein ungültiges Datum eingeben, werden Sie aufgefordert, ein gültiges Datum einzugeben und den Vorgang zu beenden.

Wie funktioniert es?

Als erstes und wichtigstes haben wir die Variable vom Typ Date verwendet, um das erwartete Datum zu speichern. Wenn Sie nun versuchen, einen Wert zu speichern, der kein gültiges Datum ist, wird der Fehler "Typkonflikt" ausgegeben.

Als nächstes fangen wir diesen Fehler mit demBei Fehler Gehe zuFehlerhandler.

Bei Fehler GoTo Errorhandler dob = Application.InputBox("Geben Sie Ihr Geburtsdatum ein") Bei Fehler GoTo 0 

Mit dem On Error springen wir das Steuerelement zum Tag Errorhandler, der sich direkt vor der End Sub-Anweisung befindet. So wird der Benutzer aufgefordert, ein gültiges Datum einzugeben und das Unterteil endet.

Errorhandler: MsgBox "Bitte geben Sie ein gültiges Datum ein." End Sub 

Wenn der Benutzer ein gültiges Datum eingibt, läuft die Kontrolle normal und die Eingabe wird in der Variablen dob gespeichert. Wir haben die Exit-Unteranweisung eingefügt, damit das Steuerelement nicht an den Fehlerhandler geht und die Prozedur genau dort beendet. Setzen Sie also alle end-Anweisungen vor exit sub. Und das ist es.

Also ja, Leute, so schränkt ihr den Benutzer ein, nur ein gültiges Datum einzugeben. Lassen Sie es mich wissen, wenn Sie Zweifel an VBA-Daten oder anderen Excel / VBA-bezogenen Abfragen haben. Fragen Sie uns im Kommentarbereich unten.

Datum/Zeit-Stempel mit VBA einfügen | Um den Zeitstempel einzugeben, wann eine bestimmte Zelle mit diesem VBA-Code gefüllt wurde. Wenn Sie einen Wert in Spalte A eingeben, wird die angrenzende Zelle in Spalte B automatisch mit der Eingabezeit gefüllt.

Datum & Uhrzeit in VBA | Auf dieser Seite finden Sie alle Themen zu Datum und Uhrzeit in VBA.

Wie können wir das Datum über VBA formatieren? | Erfahren Sie, wie Sie das Datum mit VBA in Excel formatieren. Nehmen wir ein Beispiel, um zu verstehen, wie und wo wir die Zelle in einer kurzen Datumszahl formatieren können.

Populäre Artikel:

50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Tastenkombinationen arbeiten Sie noch schneller mit Excel.

Die SVERWEIS-Funktion in Excel | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, die verwendet wird, um Werte aus verschiedenen Bereichen und Blättern zu suchen.

ZÄHLENWENN in Excel 2016 | Zählen Sie Werte mit Bedingungen mit dieser erstaunlichen Funktion. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen. Die Countif-Funktion ist unerlässlich, um Ihr Dashboard vorzubereiten.

So verwenden Sie die SUMIF-Funktion in Excel | Dies ist eine weitere wesentliche Funktion des Dashboards. Dies hilft Ihnen, Werte unter bestimmten Bedingungen zusammenzufassen.