Kombinationsfeld mit Monatsnamen füllen

Excel, alle Versionen

Die Aufgabe:

  • In einer UserForm soll ein Kombinationsfeld (ComboBox) mit Monatsnamen gefüllt werden.

Vorgaben:

  • Der erste Monat in der Liste soll der Vormonat des aktuellen Datums sein, der letzte Monat soll der aktuelle Monat im kommenden Jahr sein.
  • Der Texteintrag der ComboBox soll im Format MMMM JJJJ sein, also voll ausgeschriebener Monat und vierstelliges Jahr.
  • Die ComboBox soll automatisch beim öffnen der UserForm gefüllt werden.
  • Die Vorauswahl soll der aktuelle Monat sein.
Name der UserForm: beliebig
Name des Kombinationsfeldes: cmbMonate

Tragen Sie folgenden Code in den VBA-Bereich der UserForm ein:

Option Explicit

Sub UserForm_Activate()
  Dim intIndex As Integer
  Dim strMonat As String, m As Integer
  
  For intIndex = -1 To 12 'Vormonat bis aktueller Monat + 12
    strMonat = Format(DateSerial(Year(Date), _
     Month(Date) + intIndex, 1), "MMMM YYYY")
    m = intIndex + 1
    cmbMonate.AddItem strMonat, m
  Next intIndex
  
  cmbMonate.ListIndex = 1 'Vorauswahl des aktuellen Monats
End Sub

Zugegeben, es geht “eleganter”, kürzer. Aber so ist es für Einsteiger übersichtlicher.

Den Code finden Sie hier in einer gepackten Datei. Enthalten sind dort:

  • MonatsCombo.txt – Der Code als Textdatei. Kopieren und in eine UserForm beliebigen Namens einfügen.
  • MonatsCombo.frm und MonatsCombo.frx – Werden gemeinsam genutzt, um eine neue, leere UserForm mit dem Namen Userform1 zu erstellen und fügt dann automatisch den Code ein.

▲ nach oben …

[whohit]DL, VS: Combo mit Monatsnamen füllen[/whohit]
Dieser Beitrag wurde unter Code-Schnipsel, Datum und Zeit abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.