Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Position der DropDown Auswahl ausgeben

Position der DropDown Auswahl ausgeben
13.04.2022 14:05:06
Joerg
Hallo,
ist es möglich bei einer DropDown Liste (erstellt über Daten - Datenüberprüfung ) per VBA die Position der Auswahl auszuwerten und nicht den String.
Also, ich brauche bei Auswahl des ersten Eintrags eine 1, beim 2. eine 2 usw.
Gruß Jörg
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Verwende dafür alternativ...
13.04.2022 14:07:22
{Boris}
Hi,
...das Kombinationsfeld aus den Formularsteuerelementen - die geben von Haus aus nicht den Eintrag selbst, sondern dessen Index innerhalb der Auswahlliste zurück.
VG, Boris
AW: Verwende dafür alternativ...
13.04.2022 15:19:33
snb

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Validation.Type = 3 And Target  "" Then MsgBox Application.Match(Target, Range(Mid(Target.Validation.Formula1, 2)), 0)
End Sub

Anzeige
Bei Datenüberprüfung-Liste...
13.04.2022 14:14:43
{Boris}
Hi,
...kannst Du die Position des Eintrags z.B. so ermitteln:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "C1" Then
Target.Offset(0, 1) = Application.Match(Target, Range("A:A"), 0)
End If
End Sub
Die Daten für die Listenauswahl stehen in Spalte A, beginnend bei A1. Die Zelle mit der Datenüberprüfung (Liste) ist C1.
VG, Boris
Anzeige
AW: Bei Datenüberprüfung-Liste...
13.04.2022 14:31:41
Joerg
Hi,
vielen Dank für Deine Mühen, aber "Worksheet_Change" hasse ich wie die Pest.
Ich hatte gehoft das ginge einfacher, so nach dem Motto "DropDown.Pos".
Ich werde das irgendwie anders lösen.
Gruß Jörg
Musst Du ja nicht via Change-Ereignis machen...
13.04.2022 14:44:56
{Boris}
Hi,
...die Logik für die Ermittlung des INDEX ist doch nur Match - wie auch immer Du das in Deinen Code einbaust.
VG, Boris
Anzeige
Eine seltsame Einstellung bei Basiskenntnissen oT
13.04.2022 15:17:45
EtoPHG

AW: Position der DropDown Auswahl ausgeben
13.04.2022 15:06:22
GerdL
Hallo Jörg!
MsgBox [MATCH(A2:A10,C1,0)]
Gruß Gerd
AW: Position der DropDown Auswahl ausgeben
13.04.2022 15:22:06
snb

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Validation.Type = 3 And Target  "" Then MsgBox Application.Match(Target, Range(Mid(Target.Validation.Formula1, 2)), 0)
End Sub

Anzeige
die Position und nicht den String ...
13.04.2022 15:52:00
Rudi
... sieht so aus, als ob er die gleichen Einträge mehrfach in der Auswahlliste hat.
Dann versagt Match natürlich.
Gruß
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Position der DropDown Auswahl in Excel ermitteln


Schritt-für-Schritt-Anleitung

Um die Position eines Eintrags aus einer DropDown-Liste in Excel auszulesen, kannst du die folgenden Schritte befolgen:

  1. DropDown-Liste erstellen:

    • Wähle die Zelle aus, in der du das Auswahlfeld (Dropdown) erstellen möchtest.
    • Gehe zu Daten > Datenüberprüfung.
    • Wähle unter Zulassen die Option Liste und gib die Quelle deiner Auswahlliste ein.
  2. VBA aktivieren:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge ein neues Modul ein, indem du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsm)" klickst und Einfügen > Modul auswählst.
  3. Code für die Position der Auswahl einfügen:

    • Füge den folgenden Code in das Modul ein:
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Validation.Type = 3 And Target <> "" Then
           MsgBox Application.Match(Target, Range("A:A"), 0)
       End If
    End Sub
    • Stelle sicher, dass die Daten für die Auswahlliste in Spalte A stehen.
  4. Zurück zu Excel:

    • Schließe den VBA-Editor und teste dein Auswahlfeld. Bei Auswahl eines Eintrags wird die Position als Nachricht angezeigt.

Häufige Fehler und Lösungen

  1. Fehler bei der Datenüberprüfung:

    • Stelle sicher, dass der Bereich für die Auswahlliste korrekt definiert ist. Ein falscher Bereich führt zu Fehlern.
  2. VBA funktioniert nicht:

    • Achte darauf, dass Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die entsprechenden Optionen.
  3. Kein Wert angezeigt:

    • Überprüfe, ob die Zelle, die das Auswahlfeld enthält, wirklich einen Eintrag aus der Auswahlliste gewählt hat und nicht leer ist.

Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, kannst du auch die Funktion MATCH direkt in einer Zelle nutzen:

  • Setze in einer Zelle den folgenden Formel ein:

    =MATCH(C1, A:A, 0)

Hierbei ist C1 die Zelle mit dem Dropdown-Auswahlfeld und A:A der Bereich deiner Auswahlliste.


Praktische Beispiele

Nehmen wir an, deine Auswahlliste befindet sich in den Zellen A1 bis A10. Wenn du in C1 ein Dropdown mit den Einträgen aus A1:A10 erstellt hast, wird die Position des gewählten Eintrags wie folgt ausgegeben:

  • Wähle einen Eintrag im Dropdown (z.B. "Apfel").
  • Der Code oder die MATCH-Funktion zeigt dir die Position des Eintrags in der Liste (z.B. 1 für "Apfel", wenn er in A1 steht).

Tipps für Profis

  • Um den Dropdown-Pfeil immer anzuzeigen, stelle sicher, dass der Bereich für die Datenüberprüfung nicht leere Zellen enthält.
  • Verwende benannte Bereiche für deine Auswahlliste, um die Lesbarkeit und Wartbarkeit deiner Excel-Datei zu verbessern.
  • Experimentiere mit verschiedenen Steuerelementen, wie dem Kombinationsfeld, um vielseitigere Auswahlmöglichkeiten zu schaffen.

FAQ: Häufige Fragen

1. Kann ich die Position der Auswahl auch ohne VBA ermitteln?
Ja, du kannst die MATCH-Funktion in einer Zelle verwenden, um die Position des gewählten Eintrags aus der Auswahlliste zu ermitteln.

2. Was tun, wenn die Auswahl mehrfach in der Auswahlliste vorkommt?
In diesem Fall kann die MATCH-Funktion möglicherweise nicht korrekt arbeiten, da sie nur den ersten gefundenen Wert zurückgibt. Überprüfe deine Daten und stelle sicher, dass die Einträge in der Auswahlliste eindeutig sind.

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