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 werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus 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.

Ausgewählter Listoxeintrag soll oben in Listbox erscheinen
#1
Hallo,

ich habe in meiner Listbox1 sehr viele Einträge, so dass auf der rechten Seite der Scrollbar zu sehen ist.

Wenn ich nun einen Eintrag auswähle und dieser damit markiert ist, möchte ich, dass dieser ausgewählte

Eintrag ganz oben als erstes in meiner Listbox1 erscheint.

Wie mache ich das?

Danke für eure Hilfe.
Antworten Top
#2
Hallo,

wann soll das passieren?
Wenn du einen Eintrag ausgewählt hast, erscheint er doch aktuell in der Listbox - oder soll der markierte Eintrag auf der Userform oberhalb der Listbox eingetragen werden?
Oder soll der markierte Eintrag beim nächsten Aufruf der Listbox ganz oben als Erstes in der Liste erscheinen?
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#3
Wieso, wozu ? mit welchem Zweck ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#4
Der Zweck ist einfach die bessere (für mich bessere) Übersicht. Bei der ComboBox kannst du ja auch auswählen welcher ListIndex standardmäßig aus der von dir zusammengestellten Liste zuerst erscheint.

Sollte so etwas nicht möglich sein, wäre das für mich kein Beinbruch. Aber wenn so etwas gehen sollte, wüßte ich doch gerne wie.
Antworten Top
#5
Code:
Bei der ComboBox kannst du ja auch auswählen welcher ListIndex standardmäßig aus der von dir zusammengestellten Liste zuerst erscheint.

Bei der ListBox auch.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
Hallo

mit dem Problem habe ich mich auch bei Anfragen mehrfach beschaeftigt, aber da spielt Excel nicht Problemlos mit !!
Frage:  waere es eine Alternative über der ListBox ein Label oder Textfeld zu setzen um dort den Wert anzuzeigen?

Hier eine Makro Variante die snb vielleicht noch verbessern kann??  Sie laeuft aber nur bedingt...!  Konkret, man kann im -eigenen Aufruf- den LişstIndex nicht löschen, auf -1 setzen!  Dann macht Excel von selbst was er will.  Wirft nicht angeklickte Daten nach oben.  Warum das so ist weiss ich nicht??  

Hat man 2 ListBoxen und setzt den ListIndex für ListBox1 in einem anderen Aufruf auf -1 klappt es offenbar!  Den simplen Trick hatte ich in einem Thread mit 4 ListBoxen nebeneinader benutzt.  Dadurch klappte das anklicken sauber. 

Zweites Problem, man kann bei diesem Code nicht den naechsten Wert der eine Zeile tiefer steht nach oben laden.  Das funktioniert nicht!  Nach oben kein Problem, den vorherigen Wert übernimmt Excel.  Aber nach unten klappt es nicht!  Nur bei der übernaechsten Zeile klappt es!  Ebenso ist amüsant das der ListIndex beim letzen Wert von Excel gelöscht wird.  Warum das so kurios funktioniert weiss ich nicht.  Vielleicht weiss es snb???  Einfach mal testen ....

mfg  Gast 123

Code:
'** Warnung:
'Nicht in den -ListIndex- eingeifen und ihn auf 0 oder -1 setzen
'dann veraendert Excel selbstaendig unkontrolliert den 1. Eintrag

Private Sub ListBox1_Click()
Dim Indx As Integer, Zahl, Wert As Variant
On Error GoTo Fehler
Application.EnableEvents = True
 'Wert + Index in Variable laden
  Indx = Me.ListBox1.ListIndex
  Zahl = Me.ListBox1.ListCount
  Wert = Me.ListBox1.Value
 'Wert einfügen, alten Eintrag löschen
  Me.ListBox1.RemoveItem Indx
  Me.ListBox1.AddItem Wert, 0
Fehler: Application.EnableEvents = True
End Sub
Antworten Top
#7
Hallo,

hätte noch eine andere wichtige Frage an euch.

Wie frage ich die Werte der Scrollbar bei einer ListBox ab?
Antworten Top
#8
http://www.barnesandnoble.com/w/excel-vb...1101874584
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
@snb Lustig. Das Controlelement wird in dem Buch auf Seite 276 als eigenständiges Steuerelement besprochen. Davon habe ich nichts.
Mich würde interessieren wie ich dessen Wert abfragen kann, wenn dieses Controlelement bei vielen Einträgen der ListBox erscheint.
Antworten Top
#10
Hallo,

kannst Du mal beschreiben, mehr Hintergrund Info geben, was geanu Du erreichen möchtest?

Mit VBA wirst Du die Scrollbar Position nicht auslesen können, denke ich.  Vielleicht mit API und wenn es geht, dann wird der Code sicher aufwendiger.

Gib mal mehr Infos, dann kann man vielleicht alternative einfache Lösungen vorschlagen.
Gruß Atilla
Antworten Top


Gehe zu:


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