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.