Wie kann ich in Excel eine Dropbox über VBA anlegen?

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.


Madlen54 
Beitragsersteller
 18.01.2019, 16:02

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.

0
IQMarodeBanane  18.01.2019, 16:10
@Madlen54

Fangen wir erstmal bei 0 an:
Wie willst du denn das Makro ausführen? Sobald sich das Dokument öffnet? Per Knopfdruck?

0
Madlen54 
Beitragsersteller
 21.01.2019, 10:59
@IQMarodeBanane

Sobald ich das Kästchen anklicke und eine Auswahlliste anzeigen lassen möchte.

0
IQMarodeBanane  21.01.2019, 13:13
@Madlen54

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)

0