In meiner letzten Aufgabe musste ich Eingaben des Benutzers akzeptieren. Ein Eingabewert war das Geburtsdatum und es muss natürlich ein Datum sein.

Ich habe die Eingabe in einem varianten Datentyp gespeichert. Dies machte den Code fehlerfrei und der Code akzeptierte jeden Wert, den der Benutzer gab. Unten ist der Code:

Dim dob As Variant

dob = Application.InputBox("Enter Your Date of Birth")

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 ein ungültiges Datum erkennt und den Benutzer auffordert, ein gültiges Datum einzugeben und das Unterprogramm 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("Enter Your Date of Birth")

On Error GoTo 0

Debug.Print dob

Exit Sub

Errorhandler:

MsgBox "Please enter a valid date."

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.

imageHow does it work?* The first and most important thing we have done is to use the Date type variable to store the expected date. Now, if you try to store a value that is not a valid date, it will through an error of „type mismatch“.

Als nächstes fangen wir diesen Fehler mit dem On-Error Goto * -Fehlerhandler ab.

On Error GoTo Errorhandler

dob = Application.InputBox("Enter Your Date of Birth")

On Error GoTo 0

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

Errorhandler:

MsgBox "Please enter a valid date."

End Sub

Wenn der Benutzer ein gültiges Datum eingibt, fließt die Steuerung normal und die Eingabe wird in der Variablen dob gespeichert. Wir haben die Exit-Unteranweisung so platziert, dass das Steuerelement nicht an den Fehlerbehandler geht und die Prozedur genau dort beendet. Stellen Sie also Ihre all-End-Anweisungen vor das Exit-Sub. Und das ist es.

Also ja Leute, auf diese Weise beschränken Sie den Benutzer darauf, nur ein gültiges Datum einzugeben.

Lassen Sie mich wissen, wenn Sie Zweifel an VBA-Daten oder anderen Excel / VBA-bezogenen Fragen haben. Fragen Sie uns in den Kommentaren unten.

Verwandte Artikel:

link: / vba-einfügen-datum-zeitstempel-mit-vba [Datum einfügen Zeitstempel mit VBA einfügen] | Eingabe des Zeitstempels, wenn eine bestimmte Zelle mit diesem VBA-Code gefüllt wurde. Wenn Sie einen Wert in Spalte A eingeben, wird die benachbarte Zelle in Spalte B automatisch mit dem Zeitpunkt der Eingabe gefüllt.

`link: / excel-makros-und-vba-datum-zeit-in-vb [Datum & Uhrzeit in VBA] | Auf dieser Seite finden Sie alle Themen zu Datum und Uhrzeit in VBA.

Beliebte Artikel:

link: / Tastatur-Formel-Verknüpfungen-50-Excel-Verknüpfungen-zur-Steigerung-Ihrer-Produktivität [50 Excel-Verknüpfungen zur Steigerung Ihrer Produktivität] | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Verknüpfungen können Sie noch schneller in Excel arbeiten.

link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Die VLOOKUP-Funktion in Excel] | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, mit der Werte aus verschiedenen Bereichen und Tabellen gesucht werden. link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] | Zählen Sie Werte mit Bedingungen, die diese erstaunliche Funktion verwenden. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen.

Die Countif-Funktion ist wichtig, um Ihr Dashboard vorzubereiten.

link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel] | Dies ist eine weitere wichtige Funktion des Dashboards. Auf diese Weise können Sie Werte unter bestimmten Bedingungen zusammenfassen.