Ich verstehe nicht wieso in meine ComboBox nichts erscheint?
Private Sub UserForm_Initialize()
With Me.ComboBox1
.AddItem "Prüfprotokoll"
.AddItem "Prüfprotokoll 1"
.AddItem "Prüfprotokoll 2"
.ListIndex = 1
End With
End Sub
Freu mich über Hilfe
Private Sub UserForm_Initialize()
With Me.ComboBox1
.AddItem "Prüfprotokoll"
.AddItem "Prüfprotokoll 1"
.AddItem "Prüfprotokoll 2"
.ListIndex = 1
End With
End Sub
Sub T_1()
Range("A1").Validation.Add xlValidateList, , xlBetween, Formula1:="Prüfprotokoll, Prüfprotokoll _
1, Prüfprotokoll 2"
End Sub
Auf einer UserForm geht das so änhlich wie in der Frage gezeigt.Private Sub Worksheet_Activate()
ComboBox.List1 = Array("Protokoll", "Protokoll1", "Protokoll2")
End Sub
Private Sub Worksheet_Activate()
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Private Sub Worksheet_Calculate()
Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub Worksheet_Deactivate()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Private Sub Workbook_Open()
With Worksheets("Tabelle1").ComboBox1 'Blattname anpassen
.AddItem "Prüfprotokoll"
.AddItem "Prüfprotokoll 1"
.AddItem "Prüfprotokoll 2"
.ListIndex = 1
End With
End Sub
Gruß WernerSie möchten eine ComboBox, die sich direkt auf Ihrem Arbeitsblatt befindet, beim Öffnen der Arbeitsmappe mit drei Einträgen füllen.
Die von Ihnen bereitgestellte VBA-Prozedur UserForm_Initialize
wird für die Initialisierung von UserForms verwendet. Die auf Ihrem Arbeitsblatt platzierte ComboBox ist jedoch kein UserForm-Steuerelement, sondern ein ActiveX-Steuerelement. Daher ist die Prozedur UserForm_Initialize
nicht der richtige Ort, um dieses Steuerelement zu initialisieren.
Um die ComboBox beim Öffnen des Arbeitsblattes zu füllen, sollten Sie den Code in das Workbook_Open
-Ereignis des ThisWorkbook
-Objekts in Ihrem VBA-Projekt einfügen.
ThisWorkbook
.Workbook_Open
-Ereignis ein.Private Sub Workbook_Open()
With Sheets("IhrTabellenblattname").ComboBox1
.Clear 'Entfernt vorherige Einträge
.AddItem "Prüfprotokoll"
.AddItem "Prüfprotokoll 1"
.AddItem "Prüfprotokoll 2"
.ListIndex = 1
End With
End Sub
Bitte ersetzen Sie "IhrTabellenblattname" durch den tatsächlichen Namen Ihres Tabellenblatts, auf dem sich die ComboBox befindet.
Für eine ComboBox, die direkt auf einem Excel-Tabellenblatt platziert ist, sollten Sie den Workbook_Open
-Event verwenden, um sie beim Öffnen der Arbeitsmappe zu füllen. Der von Ihnen bereitgestellte UserForm_Initialize
-Event ist für UserForms vorgesehen und funktioniert daher nicht für auf Arbeitsblättern platzierte ActiveX-Steuerelemente.