Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Die Updates sind abgeschlossen. Bitte meldet eventuelle Bugs und Auffälligkeiten im entsprechenden Forum.
Sollte das Loginfenster nicht sichtbar sein, ist es unten links. Entweder Ihr loggt Euch dort ein oder löscht den Browsercache und versucht es noch einmal.


VBA: Index einer Gültigkeitsprüfungs-Liste ermitteln
#1
Hallo zusammen,

ich habe in "B1" eine Gültigkeitsprüfung definiert mit einer Liste, auf die ich per Namen ("Termine") verweise. Der Bereich "Termine" besteht aus 7 Datumswerten, die in 7 Zellen untereinander notiert sind.

Wie kann ich per VBA feststellen, welcher "Index" in der Gültigkeitsliste ausgewählt wurde? Beispiel: ich wähle in der Gültigkeitsliste das 3. Datum aus. Nun möchte ich per VBA nicht das Datum, sondern die "3" ermitteln. Hoffentlich habe ich das verständlich genug beschrieben.

Ich könnte natürlich den Bereich der "Termine" in einer Schleife durchlaufen und mit dem ausgewählten Datum in "B1" vergleichen; dann finde ich den "Index" durch den Schleifenzähler, aber gibt es da nicht eine einfachere Funktion ohne Schleife?

Danke im Voraus.
Jörg
Antwortento top
#2
Hola,

warum VBA?


Code:
=VERGLEICH(B1;Termine2;0)

Gruß,
steve1da
Antwortento top
#3
Moin!
Ja, die gibt es.
Worksheetfunction.Match(ActiveCell, Range("Termine"), 1)

Falls die Termine nicht aufsteigend sortiert sein sollten, muss das dritte Argument 0 lauten.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#4
Hallo Ralf,

danke - genau das habe ich gesucht :-))

@steve1da: Danke für die Formel, aber VBA deswegen, weil die Frage Teil eines etwas größeren VBA-Projektes ist.

Viele Grüße
Jörg
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste