ich möchte eine Combobox mit Montat und Jahr füllen. Es soll der letzte und die nächsten 12 Monate angezeigt werden. Das Format soll so ausschauen
Juni 2012
kann mir dabei jemand helfen?
LG
Hans
Private Sub UserForm_Activate()
Dim lngIndex As Long
For lngIndex = 0 To 12
ComboBox1.AddItem Format(DateSerial(Year(Date), Month(Date) + lngIndex, 1), "MMMM yyyy")
Next
End Sub
Um eine Combobox in Excel mit Monat und Jahr zu füllen, kannst Du den folgenden VBA-Code verwenden. Dieser Code fügt die letzten 12 Monate sowie den aktuellen Monat in das Format "MMMM yyyy" ein. Hier sind die Schritte:
Öffne deine Excel-Datei und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Gehe zu Einfügen > UserForm
, um ein neues UserForm zu erstellen.
Füge eine Combobox zu deinem UserForm hinzu (z.B. ComboBox1
).
Klicke mit der rechten Maustaste auf das UserForm und wähle Code anzeigen
.
Füge den folgenden Code in das Codefenster ein:
Private Sub UserForm_Activate()
Dim lngIndex As Long
For lngIndex = 0 To 12
ComboBox1.AddItem Format(DateSerial(Year(Date), Month(Date) + lngIndex, 1), "MMMM yyyy")
Next
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Starte das UserForm, um die Combobox mit den Monaten zu sehen.
Fehler: Combobox bleibt leer.
UserForm_Activate
-Ereignis platziert ist. Wenn der Code nicht ausgeführt wird, versuche das UserForm manuell zu aktivieren.Fehler: Falsches Datumsformat.
Format
-Befehl. Stelle sicher, dass es als "MMMM yyyy"
definiert ist, um den vollständigen Monatsnamen und das Jahr anzuzeigen.Wenn Du keine VBA-Lösung verwenden möchtest, gibt es auch eine Möglichkeit, die Combobox mit Formeln zu füllen. Du kannst eine Liste der Monate in einem Arbeitsblatt erstellen und diese dann in die Combobox einfügen.
Hier ist ein Beispiel für die Verwendung des Codes. Angenommen, der aktuelle Monat ist Juni 2022. Die Combobox würde die folgenden Einträge anzeigen:
1. Wie kann ich die Anzahl der angezeigten Monate ändern?
Du kannst die Anzahl der Monate im For
-Loop anpassen. Ändere die Zahl 12
in die gewünschte Anzahl (z.B. For lngIndex = 0 To 6
für die nächsten 6 Monate).
2. Funktioniert dieser Code in Excel 2016? Ja, dieser VBA-Code funktioniert in Excel 2016 und in den meisten neueren Versionen von Excel, die VBA unterstützen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen