Wie kann ich in Excel eine Dropbox über VBA anlegen?
Hallo zusammen,
Ich habe in einem Arbeitsblatt in Excel ein Formular angelegt. Dabei soll man per Dropbox das Unfallland auswählen können. Hier fehlt ein Schlüsselwort um meine Dropdown-Liste anzeigen lassen zu.
Ich möchte das Kombinationsfeld nicht über einen Bereichbezug anlegen.
Sub Dropdown_Unfalland()
.AddItem "Deutschland"
.AddItem "Österreich"
.AddItem "Schweiz"
End Sub
Könnt Ihr mit bei der Lösung helfen?
1 Antwort
Du brauchst dafür ein ActiveX-Steuerelement.
Sub CBAddItems()
ComboBox1.AddItem ("Deutschland")
End Sub
Somit kannst du in die Liste Werte einfügen, würde aber einen benannten Bereich empfehlen. Den kannst du auch per VBA erstellen lassen, ohne ihn in Excel zu haben.
Fangen wir erstmal bei 0 an:
Wie willst du denn das Makro ausführen? Sobald sich das Dokument öffnet? Per Knopfdruck?
Sobald ich das Kästchen anklicke und eine Auswahlliste anzeigen lassen möchte.
Oftmals hat man etwas bestimmtes oder anderes im Kopf, als es der Gegenüber versteht.
Ich gebe dir mal eine Lösung, die für mich sehr einfach ist:
Du öffnest VBA, klickst auf "Diese Arbeitsmappe" und fügst folgenden Code hinzu:
Private Sub Workbook_Open()
ActiveSheet.Range("B2").Select 'Hier auswählen, wo dein Dropdown-Menü ist
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="1, 2" 'Hier deine Werte zur Auswahl eingeben
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End Sub
Immer, wenn jemand die Excel ÖFFNET, wird der Code ausgeführt. Das sollte den Sinn und Zweck erfüllen. Die Person muss dafür die Makros zu beginn aktivieren, allerdings muss das bei jedem Makro gemacht werden. Vorteil hierbei: Deine Auswahl wird nicht jedes Mal neu geladen, wenn jemand auf das Dropdown-Menü klickt, was die Auswahl wieder zurücksetzen würde, da sie neu geladen werden muss (zum Hinzufügen von Dropdown-Elementen müssen die vorherigen gelöscht werden, sonst werden sie nur hinzugefügt)
funktioniert leider nicht. Wie geht denn dein Vorschlag. Möchte einfach nicht eine Liste von Länder in Excel hinterlegen, wenn man's in den Formeln "verstecken" kann.