Microsoft Excel

Herbers Excel/VBA-Archiv

Datumsausgabe aus ComboBox und Textfeld

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

Meinem Verständnis nach werden hier die Daten doch bereits als Datum formatiert oder liege ich hier falsch?

In der Ausgabe wollte ich dann:
Tabelle1.Cells(intFirstEmptyRow, 8).Value = Me.cboGebuehr.Value + me.cboJahr.Value 
gebrauchen. 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.

Kann mir von euch jemand helfen? Ich wäre für jede Hilfe sehr dankbar!
Viele Grüße

  

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


 

Beiträge aus den Excel-Beispielen zum Thema "Datumsausgabe aus ComboBox und Textfeld"