Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform mit Datum- und Zeiteingabe

Userform mit Datum- und Zeiteingabe
28.11.2017 23:50:48
Marco
Guten Abend,
ich habe ein VBA Beispiel von Hajo "Userform mit Datum- und Zeiteingabe", in dem das eingegebene Datum- und die Zeit in eine Zelle geschrieben werden. Jetzt würde ich gerne den Inhalt einer Textbox (ActiveX Element) zuweisen.
Leider hat es so nicht geklappt:
Ausschnitt aus original Code
If Txt_Zeit  "" Then
' Datum und Zeit eingegeben
ActiveCell = CDate(Txt_Datum) + CDate(Txt_Zeit)
ActiveCell.NumberFormat = "dd.MM.YYYY hh:mm.ss"
Von mir geändert
If Txt_Zeit  "" Then
' Datum und Zeit eingegeben
ActiveSheet.TextBox1 = CDate(Txt_Datum) + CDate(Txt_Zeit)
ActiveSheet.TextBox1.NumberFormat = "dd.MM.YYYY hh:mm.ss"
Ist meine Zuweisung vll falsch?
Beispiel Datei:
https://www.herber.de/bbs/user/117974.xlsm
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform mit Datum- und Zeiteingabe
29.11.2017 00:15:14
Werner
Hallo Marco,
1. eine Textbox hat kein NumberFormat.
2. mit + addierst du
Versuch es mal mit:
ActiveSheet.TextBox1 = Format(CDate(Txt_Datum) & " " & CDate(Txt_Zeit), "DD.MM.YYYY HH:MM:SS")
Gruß Werner
AW: Userform mit Datum- und Zeiteingabe
29.11.2017 00:32:59
Marco
Coole Sache läuft ^^
Jetzt muss ich noch eine Frage stellen. Aktuell habe ich das Datum und die Zeit in einem anderen Code immer aus einer Zelle ausgelesen. Wenn ich ich jetzt aber Datum und Zeit aus der Textbox entnehmen möchte muss ich das dann so machen?
Aktueller Code:
     von = Sheets("Dashboard").Cells(4, 19)
bis = Sheets("Dashboard").Cells(6, 19)
Mögliche Lösung:
     von = Sheets("Dashboard").ActiveSheet.TextBox1
bis = Sheets("Dashboard").ActiveSheet.TextBox2

Anzeige
AW: Userform mit Datum- und Zeiteingabe
29.11.2017 01:25:02
Werner
Hallo Marco,
dann so:
Sub Schaltfläche3_Klicken()
Dim daDatum As Date, daZeit As Date
'Datum aus Textbox in Variable
daDatum = CDate(Left(ActiveSheet.TextBox1, 10))
'Zeit aus Textbox in Variable
daZeit = CDate(Right(ActiveSheet.TextBox1, 8))
'Varible Datum in Zelle A1
Cells(1, 1) = daDatum
'Variable Zeit in Zelle A2
Cells(2, 1) = daZeit
'Zelle A2 im Uhrzeitformat formatieren
Cells(2, 1).NumberFormat = "[$-F400]h:mm:ss AM/PM"
End Sub
Dann muss aber sichergestellt sein, dass das Datum in der Textbox (Txt_Datum) immer 10 stellig eingegeben wird und die Uhrzeit in der Textbox (Txt_Zeit) immer 8 stellig eingegeben wird.
Gruß Werner
Anzeige
Danke Werner
04.12.2017 07:52:02
Marco
Danke
Gerne u. Danke für die Rückmeldung. o.w.T.
04.12.2017 08:26:58
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Userform mit Datum- und Zeiteingabe in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und gehe in den VBA-Editor (ALT + F11).
  2. Erstelle eine neue Userform und füge zwei Textboxen Txt_Datum und Txt_Zeit hinzu.
  3. Füge einen Button hinzu, der die Eingaben verarbeitet.
  4. Verwende den folgenden Code, um das Datum und die Zeit aus den Textboxen zu lesen und in Zellen zu schreiben:
Sub Schaltfläche1_Klicken()
    Dim daDatum As Date, daZeit As Date
    'Datum aus Textbox in Variable
    daDatum = CDate(Left(ActiveSheet.TextBox1, 10))
    'Zeit aus Textbox in Variable
    daZeit = CDate(Right(ActiveSheet.TextBox1, 8))
    'Variable Datum in Zelle A1
    Cells(1, 1) = daDatum
    'Variable Zeit in Zelle A2
    Cells(2, 1) = daZeit
    'Zelle A2 im Uhrzeitformat formatieren
    Cells(2, 1).NumberFormat = "[$-F400]h:mm:ss AM/PM"
End Sub
  1. Achte darauf, dass das Datum immer 10-stellig und die Uhrzeit immer 8-stellig eingegeben wird.

Häufige Fehler und Lösungen

  • Fehler: "Textbox hat kein NumberFormat"

    • Lösung: Verwende die Format-Funktion, um das Datum und die Zeit korrekt anzuzeigen:
    ActiveSheet.TextBox1 = Format(CDate(Txt_Datum) & " " & CDate(Txt_Zeit), "DD.MM.YYYY HH:MM:SS")
  • Fehler: Unzureichende Eingabeformate.

    • Lösung: Stelle sicher, dass die Benutzer die Eingabeformate einhalten, indem du Eingabemasken oder Validierungen in den Textboxen verwendest.

Alternative Methoden

Eine alternative Methode zur Eingabe von Datum und Uhrzeit könnte die Verwendung von zwei separaten Textboxen für Datum und Zeit sein. Dadurch wird die Benutzerfreundlichkeit erhöht und die Eingabefehler werden verringert. Du kannst den Code wie folgt anpassen:

Sub Schaltfläche2_Klicken()
    Dim daDatum As Date, daZeit As Date
    daDatum = CDate(ActiveSheet.TextBox1) ' Datum
    daZeit = CDate(ActiveSheet.TextBox2)   ' Zeit
    Cells(1, 1) = daDatum
    Cells(2, 1) = daZeit
    Cells(2, 1).NumberFormat = "[$-F400]h:mm:ss AM/PM"
End Sub

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du das Datum und die Zeit aus Textboxen in eine Excel-Tabelle einfügen kannst:

  1. Textboxen erstellen: Füge Txt_Datum und Txt_Zeit in deine Userform ein.
  2. Button hinzufügen: Verwende einen Button namens btnSpeichern.
  3. Code für Button klicken:
Private Sub btnSpeichern_Click()
    Cells(1, 1).Value = Txt_Datum.Value
    Cells(2, 1).Value = Txt_Zeit.Value
End Sub

Die Werte werden nun korrekt in die Zellen A1 und A2 übertragen.


Tipps für Profis

  • Nutze Data Validation in Excel, um sicherzustellen, dass die Benutzer gültige Datums- und Zeitformate eingeben.
  • Verwende Error Handling in deinem VBA-Code, um mögliche Eingabefehler abzufangen.
  • Experimentiere mit Formatierungsoptionen für ein besseres visuelles Feedback in der Userform.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Eingaben korrekt sind?
Verwende Eingabemasken und Datenvalidierung in Excel, um sicherzustellen, dass das Datum immer im richtigen Format eingegeben wird.

2. Was passiert, wenn das Datum nicht 10-stellig ist?
Du kannst eine Überprüfung im Code einfügen, die eine Fehlermeldung anzeigt, falls das Datum oder die Zeit nicht im korrekten Format eingegeben werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige