UserForm - Klappliste

Hallo,

ich habe eine UserForm auf der u. a. eine Klappliste vorhanden ist. In dieser Klappliste sind recht viele Werte eingetragen.
Nun ist es so dass, wenn ich die Klappliste öffne, er die Liste immer beim ersten Wert anzeigt.
Ich möchte aber gern dass er gleich zu dem Wert scrollt der bereits ausgewählt ist.

Sprich: Nehmen wir an ich habe alle Zahlen von 1 bis 50 dort eingetragen. Bereits vorher habe ich die Zahl 30 ausgewählt. Nun möchte ich die 35 auswählen. Da er aber immer bei „1“ anfängt muss ich scrollen. Jetzt wäre es schön wenn ich die Klappliste öffne und das Programm mir gleich zur 30 scrollt (oder so ähnlich) so dass ich gleich den darunter liegenden Wert vor mir habe. Mir ist schon klar, dass, wenn ich einen kleineren Wert habe, ich dann manuell zurück scrollen muss (was jetzt nicht unbedingt der Fall sein muss). Aber manchmal „verklicke“ ich mich und möchte einfach den nächsten Wert auswählen und das gescrolle geht wieder los …

Geht das? Bei einigen Programmen hätte ich gedacht so etwas schon mal gesehen zu haben.

LG

Hallo Tobias

wenn ich wüßte, was Du unter Klappliste verstehst, könnte ich vielleicht überlegen, wie das gemacht wird, was Du anfragst. Bei einer z.B. Listbox, die VBA als Liste anbietet, können in den Eigenschaften dieser Listbox viele Parameter eingestellt werden. Die VBA-Hilfe gibt Info über die einzelnen Parameter, damit der Anwender versteht, was der Parameter macht. Vielleicht kommst Du auf diesem Weg weiter.

Gruß
Pauli

Hallo Pauli,

wenn ich wüßte, was Du unter Klappliste verstehst, könnte ich
vielleicht überlegen, wie das gemacht wird, was Du anfragst.

sorry, dass ich mich nicht eindeutig ausgedrückt habe. Es geht tatsächlich um eine ListBox, wobei die Frage (schätze ich) auch auf eine ComboBox zutreffen dürfte (also dass die Lösung dieselbe ist).

Bei einer z.B. Listbox, die VBA als Liste anbietet, können in
den Eigenschaften dieser Listbox viele Parameter eingestellt
werden. Die VBA-Hilfe gibt Info über die einzelnen Parameter,
damit der Anwender versteht, was der Parameter macht.

Dies ist mir nicht unbekannt, da ich bereits einige Jahre mit VBA (ab und zu) arbeite.

Vielleicht kommst Du auf diesem Weg weiter.

Nein

LG Tobi@s

ich habe eine UserForm auf der u. a. eine Klappliste vorhanden
ist. In dieser Klappliste sind recht viele Werte eingetragen.
Nun ist es so dass, wenn ich die Klappliste öffne, er die
Liste immer beim ersten Wert anzeigt.
Ich möchte aber gern dass er gleich zu dem Wert scrollt der
bereits ausgewählt ist.

Hallo Tobias,

Option Explicit

Private Sub ListBox1_Click()
Tabelle1.Range(„D1“) = ListBox1.ListIndex
End Sub

Private Sub UserForm_Initialize()
ListBox1.ListIndex = Tabelle1.Range(„D1“)
End Sub

Gruß
Reinhard

Hallo Reinhard,

ich habe eine UserForm auf der u. a. eine Klappliste vorhanden
ist. In dieser Klappliste sind recht viele Werte eingetragen.
Nun ist es so dass, wenn ich die Klappliste öffne, er die
Liste immer beim ersten Wert anzeigt.
Ich möchte aber gern dass er gleich zu dem Wert scrollt der
bereits ausgewählt ist.

Private Sub ListBox1_Click()
Tabelle1.Range(„D1“) = ListBox1.ListIndex
End Sub

Private Sub UserForm_Initialize()
ListBox1.ListIndex = Tabelle1.Range(„D1“)
End Sub

leider ist dein Code nicht ganz das was ich suchte. Dein Code speichert den aktuellen Wert in einer Zelle und sobald die UserForm gestartet wird, wird dieser Wert wieder eingetragen…
Mein Problem ist jedoch: Die UserForm ist und bleibt am Tag ständig geöffnet.
Darin habe ich eine ListBox mit den Werten (nennen wir sie einfach W1 - W30). Dazu sei nochgesagt: Nach dem Auswählen werden mir in weiteren Feldern weitere Angaben zu dem ausgewählten Wert angezeigt.
Jetzt möchte ich aus der ListBox einen Wert auswählen und klicke sie an, damit er erstmal die Liste öffnet. Die Liste öffnet sich dabei automatisch (und immer) beim Wert W1 und zeigt mir 8 Werte an). Ich scrolle runter da ich den Wert W20 benötige. Später möchte ich einen weiteren Wert in der ListBox auswählen. Sobald ich wieder auf den Pfeil klicke um ihn zu öffnen sehe ich wieder W1 und folgende und muss runterscrollen da ich zb den Wert W30 benötige. Oder ich habe mich verklickt, wollte eigentlich W21 und möchte korrigieren. In beiden Fällen muss ich jetzt immer nach unten scrollen (da er eben immer W1 … anzeigt).
Nun möchte ich (wie ich es von manch anderer ListBox auch kenne) dass er mir gleich in den Bereich scrollt den ich (bisher) oben ausgewählt habe (also in den W20-er Bereich) so dass nicht W1 oben angezeigt wird in der aufgeklappten Liste sondern W20 (bis W27). Oder, wenn das Ende (hier: W30) näher ist dann eben die letzten 8 Werte. Sprich: habe ich W27 ausgewählt soll er mir nicht W27 als ersten anzeigen sondern Wert W23 (Da W23 + 7 die 8 Werte bis zum Ende anzeigt).

Ich hoffe mich jetzt besser ausgedrückt zu haben.

LG Tobi@s

Hallo Tobias,

leider ist dein Code nicht ganz das was ich suchte.

schad.

Dein Code
speichert den aktuellen Wert in einer Zelle und sobald die
UserForm gestartet wird, wird dieser Wert wieder
eingetragen…

Ja.

Jetzt möchte ich aus der ListBox einen Wert auswählen und
klicke sie an, damit er erstmal die Liste öffnet.

? Meinst du eine Listbox oder eine Combobox?
Die Listbox bleibt doch offen wenn die UF bleibt.
Setze von der Listbox Height auf ca. 300 dann werden alle
30 Werte angezeigt.

Gruß
Reinhard

Hallo Reinhard,

Jetzt möchte ich aus der ListBox einen Wert auswählen und
klicke sie an, damit er erstmal die Liste öffnet.

? Meinst du eine Listbox oder eine Combobox?

ups, erst wieder nachgeschaut: es ist tatsächlich eine ComboBox

Die Listbox bleibt doch offen wenn die UF bleibt.
Setze von der Listbox Height auf ca. 300 dann werden alle
30 Werte angezeigt.

Die UserForm ist nicht sehr groß und befindet sich in der rechten unteren Ecke des Monitors. Ich möchte nun nicht dass die Combobox länger ist als die UserForm bzw. die ComboBox außerhalb des Monitors aufhört :smile:

Ich habe mir erst mal so beholfen:
In der ComboBox sind zwei Spalten eingetragen (vorn: Zahl, Dahinter: Wort). Die Zahlen kenne ich soweit auswendig. Wenn ich jetzt vorn in die ComboBox klicke markiert er mir die komplette Zeile und ich kann die 3-stellige Zahl eintippen und er zeigt mir den Wert dann auch an.

Interessieren würde mich trotzdem wie manche Programme das mit der Scroll-Leiste machen dass sie eben beim aktuell eingegebenen Wert anfängt und nicht bei „Wert 1“ :smile:

LG

Interessieren würde mich trotzdem wie manche Programme das mit
der Scroll-Leiste machen dass sie eben beim aktuell
eingegebenen Wert anfängt und nicht bei „Wert 1“ :smile:

Hallo Tobias,

teste mal diese Mappe:
http://www.uploadagent.de/show-189875-1358933954.html
Werte 1-4 klappen noch nicht. Ansonsten erscheint der vorher
ausgewählte Wert in der Liste als mittlerer der 9 Werte.

Gruß
Reinhard