Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
ListBox Top of selected Item
19.09.2021 11:10:32
Flo
Hallo zusammen!
Fällt jemandem eine Möglichkeit ein, wie ich den "Top-Wert" eines ausgewählten Items in einer ListBox ermitteln könnte?
Ziel ist es, dass sich ein Label links neben der ListBox immer neben dem ausgewählten Item befindet. Wird ein neues Item ausgewählt ODER die Scrollbar verwendet, möchte ich den Top-Wert (Koordinate) des Labels ändern.
Und bevor die Frage nach dem Warum kommt... ;)
Es ist eine rein kosmetische Angelegenheit. Ich möchte, dass ausgehend von dem ausgewählten Item ein Pfeil auf eine Box zeigt, welche weitere Informationen enthält.
Ich bin sehr gespannt und freue mich über jede Anregung, wie ich das erreichen könnte.
Vielen Dank vorab!
Flo

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox Top of selected Item
19.09.2021 12:12:26
Oberschlumpf
Hi,
nein, eine direkte Antwort hab ich leider nicht - aber eine andere Idee.
Ich vermute, es gibt für jeden Eintrag in LB eine andere ?Box mit weiteren Infos, oder?
Warum färbst du den Hintergrund der jeweils zum LB-Eintrag zugehörigen anderen ?Box nicht ein?
Und...eine Bsp-Datei per Upload mit allem, was erforderlich ist, könnte ja vielleicht auch anderen Antwortern helfen.
Konnte ich helfen?
Ciao
Thorsten
AW: ListBox Top of selected Item
19.09.2021 14:49:21
Flo
Hi Thorsten,
vielen Dank für deine Nachricht und den Vorschlag, das weiß ich sehr zu schätzen!
Die Lösung fände ich echt super, wenn es denn so wäre mit den Boxen ;)
Bei mir ist es so, dass ein Artikel aus einer Liste ausgewählt werden kann. In der Box stehen dann Daten wie Preis und Bestand. Könnte ich natürlich auch in der ListBox anzeigen. Auf diese Weise möchte ich nur visuell verdeutlichen, welcher Artikel ausgewählt wurde.
Nochmal besten Dank für die gute Idee:)
VG Flo
Anzeige
AW: ListBox Top of selected Item
19.09.2021 15:00:10
Oberschlumpf
Hi Flo,
und was nun hält du von meiner Idee einer Bsp-Datei per Upload?
Ciao
Thorsten
AW: ListBox Top of selected Item
19.09.2021 20:18:22
Flo
Guten Abend Thorsten,
Das soll jetzt nicht undankbar klingen, aber ich denke das ist nicht nötig.
Es gibt ja kein konkretes Problem, dass ich mit einer existierenden Datei habe.
Nochmal in einem Satz zusammengefasst:
Ein Label soll die Position im UserForm so ändern, dass es sich immer links neben dem in der ListBox ausgewählten Element befindet.
Ich hoffe ich habe mein Anliegen damit zumindest deutlich formulieren können, sodass eine separate Datei nicht nötig ist?
LG Flo
Anzeige
AW: ListBox Top of selected Item
19.09.2021 20:23:09
Flo
Guten Abend Thorsten,
Das soll jetzt nicht undankbar klingen, aber ich denke das ist nicht nötig.
Es gibt ja kein konkretes Problem, dass ich mit einer existierenden Datei habe.
Nochmal in einem Satz zusammengefasst:
Ein Label soll die Position im UserForm so ändern, dass es sich immer links neben dem in der ListBox ausgewählten Element befindet.
Ich hoffe ich habe mein Anliegen damit zumindest deutlich formulieren können, sodass eine separate Datei nicht nötig ist?
LG Flo
AW: ListBox Top of selected Item
19.09.2021 20:36:09
Oberschlumpf
Hi,
ok, dann nicht.
Ich, und ich denk, jeder Andere weiß nicht, wie deine Datei aussieht.
Und ich hab schon oft festgestellt, kaum sieht man anhand einer Bsp-Datei den Aufbau, die Struktur, die Daten, usw....ist es auch mit ner - helfenden - Lösung nicht weit.
Na gut, einen Lösungsversuch hast du ja - auch ohne Bsp-Datei von dir.
Aber noch ist dieser Versuch weiterhin ohne Feedback...von dir.
Ciao
Thorsten
Anzeige
AW: ListBox Top of selected Item
19.09.2021 14:52:41
Flo
Hi Nepumuk, vielen Dank für deine Nachricht!
Dass ListBoxen scrollbar werden, steht auch noch auf meiner ToDo-Liste. Das bietet sich ideal an! Werde mir die Datei anschauen, sobald ich daheim bin.
Beste Grüße und vielen Dank, Flo
AW: ListBox Top of selected Item
20.09.2021 18:44:23
Daniel
HI
auslesen kannst du den Wert meines Wissens nach nicht.
du kannst ihn aber mit etwas Aufwand berechnen:

Label1.Top = Listbox1.Top + Listbox1.ListIndex * X + Y
die Werte X und Y musst du dir selber ermitteln, am besten durch ausprobieren
x wäre die Anzahl Pixel pro Zeilei, in Abhängigkeit vom gewählten Schriftgrad
y ist dann ein Zuschlagswert für die breite des oberen Rahmens und den Randabstand.
Wenn die Listbox einen Scrollbalken hat, kannst du mit der Eigenschaft TopIndex ermitteln, welche Index in der ersten Zeile angezeigt wird um damit die Relevante Anzahl für die Platzierung des Labels zu bekommen:

Label1.Top = Listbox1.Top + ( Listbox1.ListIndex - Listbox1.TopIndex)  * X + Y
beachte jedoch, dass das Scrollen in der Listbox in VBA keine Events auslöst und somit das Label nicht sofort beim Verschieben des Scrollbalkens mit verschoben werden kann, sondern erst wenn du in der Listbox was auswählst.
das sofortige Mitwandern zu programmieren wird aufwendig
.
Gruß Daniel
Anzeige
AW: ListBox Top of selected Item
20.09.2021 19:52:54
Flo
Hi Daniel, du bist Hammer!
Vielen lieben Dank, habe ich absolut verstanden.
Hättest du eventuell einen Ansatz, wie man das mit dem Scrollen und automatischen Aktualisieren umsetzen könnte?
Es scheint ja wirklich kein Event getriggert zu werden, nicht mal der Mouse-Down...
Auf jeden Fall super, genau das habe ich gesucht! :)
Beste Grüße, Flo
AW: ListBox Top of selected Item
20.09.2021 22:09:05
Daniel
Wenn du das mit Standard-VBA umsetzen willst ohne in API und sonstige Windows-Programmierertiefen abzusteigen, ggf so:
1. lade dir im Initialize-Event den Listbox-Inhalt zunächst mal in ein Array, dieses Array sollte Modul oder Projekt weit gültig seind
2. Scheibe in die Listbox beim Initialize der Userform nur so viele Elemente, wie angezeigt werden können, ohne dass eine Scrollbar entsteht
Dh wenn das Array 20 Werte hat und die Listbox kann 10 anzeigen, kommen die Werte 1-10 in die Listbox
3. erstellen zusätzlich ein Scrollbar-Steuerelement und platzieren es neben der Listbox, so wie die automatische Listboxscrollbar.
Dieses Scrollbar-Steuerelement hat natürlich seine Events, welche auf Benutzung reagieren.
Diese musst du dann verwenden, um die Listbox entsprechend des Scrollbar-Wertes neu aufzubauen
Bspw hat die Scrollbar im Ausgangszustand den Wert 1 und der Anwender erhöht auf 2, müssen jetzt die Werte 2-11 statt 1-10 aus dem.Array in die Listbox.
Den Listindex und das Label musst du dann gleich mit verschieben.
Beachte das beides auch aus dem Anzeigebereich heraus- aber auch wieder hineingeschoben werden kann.
4. sollte der Anwender auch mit den Cursortasten durch die Listbox navigieren, musst du auch die Tasten in der Listbox über wachen und das Wechseln des Listboxinhalts auch dann ausführen, wenn der Anwender bei selekeriertem ersten Element CursorUp und bei selektierten letzten Element CursorDown drückt.
Man kann sich mit Standard-VBA diese Funktionalität erstellen, muss dann aber einiges programmieren.
Gruß Daniel
Anzeige
AW: ListBox Top of selected Item
20.09.2021 22:15:17
Flo
Verstehe, ich bau mir also sozusagen selbst meine Scroll-Leiste und lasse in der ListBox entsprechend nur einen Teil der Ergebnisse anzeigen.
Gute Idee, wäre ich nicht drauf gekommen. :)
Ich muss mal schauen, ob ich das die nächsten Tage hin bekomme. Wie gesagt ist es "leider" nur eine kosmetische Sache. Von dem her kein must-have.
Bin dir auf jeden Fall sehr dankbar für den guten Einfall, die ausführliche Beschreibung und die Hilfe!
Dieses Forum ist einfach Spitze.... und das Forum lebt ja von solch guten Kommentarschreibern ;)
Schönen Abend noch, Grüße Flo

96 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige