Excel Datum wird als numerisch anerkannt

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von -Franky-.

    Excel Datum wird als numerisch anerkannt

    Moin an alle,
    und zwar habe ich das problem, dass ich in einer aufgabe für einen Fernlehrgang diese Aufgabe bearbeiten soll:
    7. Aufgabe: Erstellen Sie in Ihrer Lösungsdatei ein Userform mit zwei Textboxen und einer Schaltfläche. Benennen und beschriften Sie alle Steuerelemente sinnvoll und aussagekräftig.Programmieren Sie für das Klick-Ereignis der Schaltfläche eine Prozedur, die den Inhalt der ersten Textbox überprüft, ob er numerisch ist, ein Datum oder Text oder ob die Textbox leer ist. Es gibt also vier Möglichkeiten. Das Ergebnis der Überprüfung soll mit einem aussagekräftigen Text in die zweite Textbox geschrieben werden.

    nun zum problem, alle überprüfungen funktioneren außer das Datum, dieses wird nähmlich als Numerisch statt datum erkannt, ich hoffe ihr könnt mir anregungen geben wie ich das problem lösen kann.
    der verwendete code:

    Quellcode

    1. Option Explicit
    2. Private Sub btn_ausgabe_Click()
    3. Dim eingabetext As String
    4. If IsDate(eingabetext) Then
    5. txtbox_ausgabe = "Der Inhalt ist ein Datum"
    6. ElseIf txtbox_eingabe = IsNumeric(True) And Not IsDate(eingabetext) Then
    7. txtbox_ausgabe = "Das Format der Zeichen ist Numerisch"
    8. ElseIf txtbox_eingabe = "" Then
    9. txtbox_ausgabe = "Die Textbox ist leer"
    10. Else:
    11. txtbox_ausgabe = "Das Format der Zeichen ist ein Text"
    12. End If
    13. End Sub


    weiterer anlauf welcher aber auch nicht funktioniert:

    Quellcode

    1. If txtbox_eingabe = IsDate(True) Then

    Hi

    IsNumeric(True) ist nicht richtig. IsNumeric(eingabetext) -> gibt True oder False zurück. Ebenso bei IsDate. Ob txtbox_eingabe leer ist, kannst Du auf unterschiedliche weise testen. zb mit If txtbox_eingabe = vbNullString Then oder auch mit If Len(txtbox_eingabe) = 0 Then
    Mfg -Franky-
    Wenn ich bei Isnumeric das true nicht in die klammern setze dann werden weder das datum noch zahlen als numerisch erkannt, sondern als text. Mein gedankengang bei Isnumeric ist das falls die eingabe in der textbox numerisch (true) ist dann wird der text wiedergegeben, das funktionierte bis lang auch, nur verstehe ich nicht ganz weshalb das bei Isdate nicht funktioniert
    Kurz und schmerzlos

    Visual Basic-Quellcode

    1. Private Sub Command1_Click()
    2. Dim eingabetext As String
    3. eingabetext = "12.08.2024"
    4. If Len(eingabetext) = 0 Then
    5. Debug.Print "eingabetext ist leer"
    6. ElseIf IsNumeric(eingabetext) And IsDate(eingabetext) Then
    7. Debug.Print "eingabetext ist ein Datum"
    8. ElseIf IsNumeric(eingabetext) And Not IsDate(eingabetext) Then
    9. Debug.Print "eingabetext ist numerisch"
    10. Else
    11. Debug.Print "eingabetext ist nur Text"
    12. End If
    13. End Sub
    Mfg -Franky-