Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dropdown liste in zelle

Dropdown liste in zelle
manu
Hallo zusammen,
vielleicht kann mir jemand von euch helfen. Ich möchte gerne eine dropdown liste mit vba erstellen (also nicht über Gültigkeit...).
Das Problem: folgender code gibt mir keine Liste sondern nur einen Wert nämlich "a1; a2; a3".
Weiß jemand wie ich den code verändern muss um eine Liste (so wie über den Weg Gültigkeit...)
zu bekommen?
Sub Liste()
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:= _
"a1; a2; a3"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Vielen Dank für eure Hilfe,
Manu
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dropdown liste in zelle
02.05.2011 22:07:59
Josef

Hallo Manu,
Formula1:= "a1, a2, a3"


« Gruß Sepp »

Anzeige
AW: Dropdown liste in zelle
02.05.2011 22:21:43
manu
Hallo Sepp,
ganz lieben Dank! Wie man sich an solchen Kleinigkeiten aufhängen kann...sehr frustrierend :)
Vielen, vielen Dank!!!
LG
Manu
Weitere Frage zu Gültigkeit
03.05.2011 07:25:50
Martin
Hallo,
kann bei einer solchen "Zellen-ComboBox" eigentlich auch der ListIndex wie bei einer richtigen ComboBox abgefragt werden?
Viele Grüße
Martin
Anzeige
AW: Weitere Frage zu Gültigkeit
03.05.2011 09:25:18
Timo
Hallo Martin,
nein, da es sich ja nicht um eine ComboBox handelt.
Wenn man mit der Gültigkeitsliste einen Wert einträgt, passiert eben genau das, der Wert wird eingetragen.
Über Hilfszellen oder VBA könnte man sich eine Art "Listindex" basteln, der hat dann aber nichts mit dem Listindex der ComboBox zu tun.
Gruß
Timo
Anzeige
@Timo: Lösung gefunden
03.05.2011 09:54:54
Martin
Hallo Timo,
ich habe mit deinem Lösungsansatz eine Lösung gefunden.
Die Lösung lautet als Excel-Formel:
=VERGLEICH(A1;A2:A40;FALSCH)
Dabei befinden sich die Listenwerte im Bereich A2 bis A40 und die Zelle zum Auswählen der Werte in der Zelle A1.
Das Ganze als VBA-Lösung:
Debug.Print Application.WorksheetFunction.Match(Range("A1"), Range("A2:A40"), 0)
Viele Grüße
Martin
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dropdown-Liste in Excel-Zellen erstellen


Schritt-für-Schritt-Anleitung

Um eine Dropdown-Liste in einer Excel-Zelle mit VBA zu erstellen, kannst du folgenden Schritten folgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf „VBAProject (DeineArbeitsmappe)“ und wähle „Einfügen“ > „Modul“.

  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub Liste()
       With Selection.Validation
           .Delete
           .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:= _
           "a1, a2, a3"  ' Hier die Werte durch Kommas trennen
           .IgnoreBlank = True
           .InCellDropdown = True
           .ShowInput = True
           .ShowError = True
       End With
    End Sub
  4. Dropdown-Liste anwenden: Markiere die Zelle, in der du die Dropdown-Liste erstellen möchtest, und führe das Makro aus.

Jetzt solltest du eine funktionierende Dropdown-Liste in deiner Zelle haben. Der Schlüssel liegt darin, die Werte durch Kommas und nicht durch Semikolons zu trennen.


Häufige Fehler und Lösungen

  • Problem: Die Dropdown-Liste zeigt nur „a1; a2; a3“ an.

    • Lösung: Stelle sicher, dass du die Werte in Formula1 durch Kommas trennst, also Formula1:= "a1, a2, a3".
  • Problem: Die Dropdown-Liste wird nicht angezeigt.

    • Lösung: Überprüfe, ob die Zelle, die du ausgewählt hast, richtig validiert ist und dass .InCellDropdown = True gesetzt ist.

Alternative Methoden

Wenn du keine VBA verwenden möchtest, kannst du auch die Datenüberprüfung in Excel nutzen:

  1. Wähle die Zelle aus.
  2. Gehe zu „Daten“ > „Datenüberprüfung“.
  3. Wähle „Liste“ aus und gib die Werte direkt in das Feld „Quelle“ ein (getrennt durch Kommas).

Diese Methode eignet sich gut für statische Listen.


Praktische Beispiele

Beispiel 1: Auswahlliste aus einer Tabelle erstellen

Wenn du eine Dropdown-Liste aus einer bestehenden Excel-Tabelle erstellen möchtest, kannst du den folgenden VBA-Code verwenden:

Sub DropdownAusTabelle()
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:= _
        "=Tabelle1!A1:A10"  ' Hier den Bereich anpassen
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
End Sub

Beispiel 2: Dynamische Dropdown-Liste

Wenn du eine dynamische Dropdown-Liste erstellen möchtest, die sich automatisch aktualisiert, kannst du eine Tabelle verwenden und den Bereich entsprechend anpassen.


Tipps für Profis

  • Verwende benannte Bereiche: Wenn du häufige Änderungen an deiner Dropdown-Liste vornimmst, kannst du einen benannten Bereich verwenden, um die Wartung zu erleichtern.
  • Nutze UserForms: Wenn du ein ansprechenderes Interface möchtest, kannst du auch eine UserForm erstellen, die eine Dropdown-Liste enthält.
  • Dynamische Listen: Überlege, wie du mit Formeln wie OFFSET oder INDEX arbeiten kannst, um dynamische Dropdown-Listen zu erstellen.

FAQ: Häufige Fragen

1. Frage Kann ich die Dropdown-Liste auch mit Werten aus einer anderen Arbeitsmappe erstellen?

Antwort: Ja, du musst jedoch sicherstellen, dass die andere Arbeitsmappe geöffnet ist und den korrekten Bezug in deinem VBA-Code verwenden.

2. Frage Wie kann ich eine Dropdown-Liste in einer UserForm erstellen?

Antwort: Du kannst eine ComboBox in der UserForm verwenden und die Werte über die Eigenschaften oder per VBA hinzufügen. Ein Beispiel wäre:

ComboBox1.AddItem "Wert1"
ComboBox1.AddItem "Wert2"

Das Erstellen von Dropdown-Listen in Excel kann leicht sein, wenn du die richtigen Schritte und Techniken anwendest. Nutze die oben genannten Methoden und Tipps, um deine Dropdown-Listen effektiv zu gestalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige