Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dropdown in Zelle mit VBA

Dropdown in Zelle mit VBA
01.04.2009 21:08:59
Mone
Hallo liebe Expertengemeinde
habe noch einmal ein Anliegen. Mit dem u.g. Code kann ich ein Listfeld in eine Zelle einfügen. Hier gibt mir die Liste die Auswahl zwischen ja und nein. Formula1:=("ja,nein") Das funktioniert prima.
Aber gibt es auch die Möglichkeit, hier eine andere Quelle anzugeben? z.B. mit Rowsource oder so?
hier mal der code (funktioniert einwandfrei):
With ActiveCell(3, 3).Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlNotBetween, Formula1:="ja,nein,""" ' kann man hier eine änderung vornehmen, dass man die Auswahl auf eine externe Quelle bezieht?
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = "bitte wählen"
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dropdown in Zelle mit VBA
01.04.2009 21:35:15
Ramses
Hallo
Extras - makro - makro aufzeichnen
Die Gültigkeit eingeben wie du sie brauchst, incl. deines anderen bereiches, ... und schon hast du es :-)
Gruss Rainer
AW: Dropdown in Zelle mit VBA
01.04.2009 21:52:09
Mone
Hallo Ramses
das geht nicht. Ich schwörs! :-)
ich kann ja bei der Gültigkeit nicht auf eine andere Datei zugreifen :-((
Anzeige
AW: Dropdown in Zelle mit VBA
01.04.2009 21:58:13
Hajo_Zi
Hallo Mone,
Du hast schon einen Namen definiert der sich auf die andere Datei bezieht?
Dazu muss die Datei auf sein zum Namen definieren.
=[Bildschirm.xlsm]Symbolleiste!$A$1:$A$3

AW: Dropdown in Zelle mit VBA
01.04.2009 22:03:05
Mone
Hajo danke schön fürs Antworten.
Jetzt komm ich aber nicht klar, was meinst du mit Bildschirm und Symbolleiste?
Anzeige
AW: Dropdown in Zelle mit VBA
01.04.2009 22:05:27
Hajo_Zi
Hallo Mone,
das waren meine Dateinamen und Tabellennamen. Ich dachte das wäre klar durch den Dateityp.
Gruß Hajo
AW: Dropdown in Zelle mit VBA
01.04.2009 22:02:22
Ramses
Hallo
":..ich kann ja bei der Gültigkeit nicht auf eine andere Datei zugreifen :-((..:"
DAS hast du auch nicht gefragt,... sondern eine andere Quelle/Datenbereich angeben.
Hol dir doch die Daten über eine Formel in deine Datei und verweise dann auf den Bereich mit den Formeln.
Dann sollte es gehen
Gruss Rainer
Anzeige
AW: Dropdown in Zelle mit VBA
01.04.2009 22:12:06
Mone
Hallo Hajo
wenn ich den Gültigkeitsbereich eingeben will, kommt folgende Meldung:
"Bezüge auf andere Tabellen oder Arbeitsmappen dürfen in dem Kriterium Gültigkeitsprüfung nicht verwendet werden"
*heul*
AW: Dropdown in Zelle mit VBA
01.04.2009 22:17:39
Ramses
Hallo
Musst du nicht heulen,...aber bei EXCEL GUT setze ich voraus, dass die Limitierungen/Umschiffungen der Gültigkeit bekannt sind.
Wie ich schon geschrieben habe,... hole die externen per Formel in deine Mappe auf irgendeine Tabelle
Tabelle1

 A
10
20
30

Formeln der Tabelle
ZelleFormel
A1='C:\Users\Rainer\Desktop\[Mappe1.xls]Tabelle1'!A1
A2='C:\Users\Rainer\Desktop\[Mappe1.xls]Tabelle1'!A2
A3='C:\Users\Rainer\Desktop\[Mappe1.xls]Tabelle1'!A3


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Vergib dem bereich einen namen über "Einfügen - Namen" oder durch direkt Eingabe ins Namenfeld
In der Gültigkeit unter Liste gibst du "=DeinName" ein.
Fertig
Gruss Rainer
Anzeige
AW: Dropdown in Zelle mit VBA
01.04.2009 22:19:53
Hajo_Zi
Hallo Mone,
Du hast geschrieben für alle Versionen und ich habe es in 2007 getestet und da geht es.
Gruß Hajo
AW: Dropdown in Zelle mit VBA
01.04.2009 22:19:57
Beverly
Hi Mone,
mittels Daten Gültigkeit kann man bei Versionen vor 2007 nicht auf eine andere Arbeitsmappe zugreifen - das geht nur mittels INDIREKT, aber in diesem Fall muss die andere Arbeitsmappe geöffnet sein. Unter Quelle diese Formel:
=INDIREKT("[Mappe1.xls]Tabelle1!$A$1:A$10")
Per VBA würde das dann so aussehen:
Sub DatenGueltigkeit() With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=INDIRECT(""[Mappe1.xls]Tabelle1!$A$1:A$10"")" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "bitte wählen" .ErrorMessage = "" .ShowInput = True .ShowError = False End With End Sub




Anzeige
AW: Dropdown in Zelle mit VBA
01.04.2009 22:25:26
Ramses
Hallo
Dann solltest du aber sagen, dass dies nur funktioniert, wenn die andere Mappe geöffnet ist.
Gruss Rainer
AW: Dropdown in Zelle mit VBA
01.04.2009 22:28:12
Mone
Hallo Rainer,
die andere Datei (Quelldatei) ist doch immer geöffnet. Karins code klappt tadellos!
Danke nochmal.
AW: Dropdown in Zelle mit VBA
01.04.2009 22:29:43
Ramses
Hallo
"....die andere Datei (Quelldatei) ist doch immer geöffnet..."
Wir sind keine Hellseher,... meine Version funktioniert immer
Gruss Rainer
Anzeige
AW: Dropdown in Zelle mit VBA
01.04.2009 22:30:05
Beverly
Hi Rainer,
Zitat Beverly: aber in diesem Fall muss die andere Arbeitsmappe geöffnet sein


Sorry,.. falsch gelesen :-) o.w.T.
01.04.2009 22:33:28
Ramses
...
AW: Dropdown in Zelle mit VBA
01.04.2009 22:34:20
Mone
Heeee, ihr Männer!
könnt wohl nicht vergnusen, dass eine Frau die Lösung fand *grins"
Gruss
mone
Anzeige
As i already said....
01.04.2009 22:45:45
Ramses
Hallo
Ich habe dazu meine Meinung: Frau hin oder her
Auch wenn es dein Problem kurzfristig löst und auch funktionieren mag,... für mich ist es nicht die Lösung :-)
Gruss Rainer
AW: Dropdown in Zelle mit VBA
01.04.2009 22:26:42
Mone
KARIN!!!!! Du bist die Allerallergrösste!!!!
Das klappt wie am Schnürchen! Man, ich könnt dich umarmen! Danke, du bist meine Retterin!
Das ist genau das, was ich gesucht hab. Vielen vielen Dank :-))))
@Hajo und Ramses: danke für eure Antworten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Dropdown in Zelle mit VBA erstellen


Schritt-für-Schritt-Anleitung

Um ein Dropdown in eine Zelle mit VBA zu erstellen, kannst du den folgenden Schritt-für-Schritt-Ansatz befolgen:

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

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineArbeitsmappe)" und wähle "Einfügen" > "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Sub DropdownErstellen()
       With ActiveCell.Validation
           .Delete
           .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
           xlBetween, Formula1:="ja,nein"
           .IgnoreBlank = True
           .InCellDropdown = True
           .InputTitle = ""
           .ErrorTitle = ""
           .InputMessage = "Bitte wählen"
           .ErrorMessage = ""
           .ShowInput = True
           .ShowError = False
       End With
    End Sub
  4. Führe das Makro aus: Setze den Cursor auf die Zelle, in der du das Dropdown erstellen möchtest, und führe das Makro DropdownErstellen aus.


Häufige Fehler und Lösungen

  • Fehler: "Bezüge auf andere Tabellen oder Arbeitsmappen dürfen in dem Kriterium Gültigkeitsprüfung nicht verwendet werden."

    • Lösung: Um auf externe Daten zuzugreifen, verwende die INDIREKT-Funktion. Stelle sicher, dass die Quelldatei geöffnet ist. Beispiel:
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=INDIRECT(""[Mappe1.xls]Tabelle1!$A$1:$A$10"")"
  • Fehler: Dropdown funktioniert nicht in älteren Excel-Versionen.

    • Lösung: In Excel-Versionen vor 2007 kannst du nur auf geöffnete Arbeitsmappen zugreifen. Formuliere die Daten in die aktuelle Arbeitsmappe mit Hilfe von INDIREKT.

Alternative Methoden

  1. Datenüberprüfung manuell:

    • Gehe zu Daten > Datenüberprüfung.
    • Wähle Liste und gib den Bereich oder die Werte ein.
  2. Verwendung von Namen:

    • Definiere einen Namen für den Bereich, der deine Dropdown-Werte enthält.
    • Verwende den Namen in der Datenüberprüfung, z.B. =DeinName.

Praktische Beispiele

  • Beispiel 1: Dropdown mit festen Werten

    Formula1:="ja,nein"
  • Beispiel 2: Dropdown mit Werten aus einer anderen Tabelle

    Formula1:="=Tabelle2!A1:A10"
  • Beispiel 3: Dropdown mit externen Werten

    Formula1:="=INDIRECT(""[Mappe1.xls]Tabelle1!$A$1:$A$10"")"

Tipps für Profis

  • Nutze die Application.InputBox-Methode, um dynamische Bereichseingaben zu ermöglichen.
  • Verwende ErrorHandling in deinem VBA-Code, um Fehler beim Ausführen des Makros zu identifizieren.
  • Experimentiere mit der xlValidateCustom-Option für komplexe Validierungsregeln.

FAQ: Häufige Fragen

1. Frage
Kann ich ein Dropdown in mehrere Zellen gleichzeitig einfügen?
Antwort: Ja, selektiere die gewünschten Zellen und führe das Makro aus. Es wird auf alle ausgewählten Zellen angewendet.

2. Frage
Funktioniert das Dropdown auch in Excel für Mac?
Antwort: Ja, der VBA-Code sollte auch in der Mac-Version funktionieren, solange die VBA-Umgebung vorhanden ist.

3. Frage
Wie kann ich ein Dropdown mit einer dynamischen Liste erstellen?
Antwort: Verwende eine Tabelle oder definiere einen dynamischen Namen, der die Liste aktualisiert, wenn neue Werte hinzugefügt werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige