![]() |
Betrifft: Datumsausgabe aus ComboBox und Textfeld
von: Susi
Geschrieben am: 06.10.2014 12:21:06
Hallo zusammen,
ich habe mir mit Hilfe von Foren und YouTube trotz kaum VBA Kenntnissen ein kleines Eingabeformular mit VBA gebaut. Das funktioniert soweit auch i.O. nur leider hapert es beim Ausgabeformat des Datums.
Zum Problem: Ich möchte in meinem Formular zwei Daten per Combobox und Textfeld auswählen. In der Combobox soll dabei der Monat um im Textfeld das Jahr stehen. In der Ausgabe sollen Monat und Jahr dann zusammen in einer Zelle als Datum wiedergegeben werden, damit ich damit "rechnen" kann ( <= Vergleiche).
Hier meine Initialisierung der Felder:
Private Sub UserForm_Initialize() 'Werte beim Aufrufen des Formulars initialisiert Dim i As Integer Dim m As Integer Me.txtJahr.Value = Year(Date) Me.txtJahrGebuehr.Value = Year(Date) For i = 1 To 12 cboMonat.AddItem MonthName(i) cboGebuehr.AddItem MonthName(i) Next i Me.cboMonat.ListIndex = Month(Date) - 1 Me.cboGebuehr.ListIndex = Me.cboMonat.ListIndex + 1
Tabelle1.Cells(intFirstEmptyRow, 8).Value = Me.cboGebuehr.Value + me.cboJahr.Valuegebrauchen. Hier schreibt er mir dann allerdings leider nur den Monatsnamen und das Jahr als Text in die Zelle. Wenn ich CDate verwende bekomme ich leider einen Error.
![]() ![]() |
Betrifft: AW: Datumsausgabe aus ComboBox und Textfeld
von: Daniel
Geschrieben am: 06.10.2014 15:25:16
Hi
in den Combo- und Textboxen steht grundsätzlich nur Text.
auch Zahlen werden dort als aus Ziffern bestehenden Texte abgelegt.
wenn du dann aus diesen Texten ein Datum erstellen willst, dann musst du den Gesamttext so zusammenstllen, dass Excel daraus ein Datum machen kann. Dazu benötigt es immer auch die Angabe des Tages, denn nur mit Tag, Monat und Jahr entsteht ein vollständiges Datum.
Bei dir fehlt dieser Tag und du müsstest ihn ergänzen:
Tabelle1.Cells(intFirstEmptyRow, 8).Value = DateValue("1." & Me.cboGebuehr.Value & "." & me.cboJahr.Value
oder
Tabelle1.Cells(intFirstEmptyRow, 8).Value = DateSerial(me.CboJahr.value, me.CobGebuehr.ListIndex + 1, 1)
Gruß Daniel
![]() |