Problem mit Listenfeld

Liebe Excelianer,

ich hab mir ein Listenfeld erzeugt, dessen Einträge von a3:a27 aufgelistet werden sollen. Bisher sind aber nur die Zellen a3:a8 gefüllt, die anderen kommen nach und nach dran, sie sind also noch leer.

Wenn ich jetzt das Listenfeld aufmache, wird leider die erste leere Zelle als erstes Auswahlfeld angezeigt. Ich muss immer nach oben scrollen, um die „richtigen“ gefüllten Zellen auswählen zu können.

Mache ich da was falsch oder ist das einfach so?

Vielen Dank für eventuelle Antworten.

Freundliche Grüße

Jorge

ich hab mir ein Listenfeld erzeugt, dessen Einträge von a3:a27
aufgelistet werden sollen. Bisher sind aber nur die Zellen
a3:a8 gefüllt, die anderen kommen nach und nach dran, sie sind
also noch leer.
Wenn ich jetzt das Listenfeld aufmache, wird leider die erste
leere Zelle als erstes Auswahlfeld angezeigt. Ich muss immer
nach oben scrollen, um die „richtigen“ gefüllten Zellen
auswählen zu können.

Hallo Jorge,

Listenfeld aus Steuerelemttoolbox oder aus Formularsymbolleiste ?
Listenfeld in Tabelle oder auf Userform ?

Ich kann das nicht nachvollziehen, was genau meinst du mit „aufmachen“ ?

Gruß
Reinhard

Hallo Reinhard,

mit „Daten - Gültigkeit und Liste“ erstelle ich die Liste, zB von $a$3:blush:a$27. Von $a$3:blush:a$8 sind Einträge vorhanden, der Rest ist noch leer und soll später gefüllt werden. Wenn ich jetzt die „Listenzelle“ aufklicke, erscheint die 1. leere Zelle, also $a$9, als erstes und ich muss jedes mal hochscrollen, um an die Zellen zu kommen, in denen Einträge vorhanden sind. Das möchte ich gerne vermeiden.

Ich hoffe, ich habs jetzt etwas klarer beschrieben.

Liebe Grüße

Jorge

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin, Jorge,

Wenn ich jetzt das Listenfeld aufmache, wird leider die erste
leere Zelle als erstes Auswahlfeld angezeigt.

das ist so bei alphanumerischen Werten - keine Ahnung, wozu das gut sein soll. Nicht umsonst haben die Microsoft-Geplagten den Spruch erfunden: „It’s a bug, not a feature“. Oder war’s gerade andersrum?

Der Cursor wird tatsächlich auf die erste nicht belegte Zelle gesetzt, deshalb kannst Du Dir behelfen, indem Du je ein Leerzeichen in die „leeren“ Zellen einfügst.

Gruß Ralf

mit „Daten - Gültigkeit und Liste“ erstelle ich die Liste, zB
von $a$3:blush:a$27. Von $a$3:blush:a$8 sind Einträge vorhanden, der
Rest ist noch leer und soll später gefüllt werden. Wenn ich
jetzt die „Listenzelle“ aufklicke, erscheint die 1. leere
Zelle, also $a$9, als erstes und ich muss jedes mal
hochscrollen, um an die Zellen zu kommen, in denen Einträge
vorhanden sind. Das möchte ich gerne vermeiden.

Hallo Jorge,

ich habe das mit XL2002 nachgestellt, A9 wird nicht markiert sondern
das zuletzt Ausgewählte wird unten in der Liste markiert angezeigt.

Wie auch immer, die obersten Werte sieht man dann halt auch nicht.

Abhilfe wäre dies im Modul von z.B. Tabelle1:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = „$B$2“ Then Target.Value = [a3]
End Sub

Wenn das nicht genügt, könnte man versuchen die Funktionalität der Gültigkeitsliste nachzubauen mit Ausnutzung des SelectionChange-Ereignisses das dann bei Betreten der „Listenzelle“ eine Listbox öffnet, dort kann man dann bestimmen welcher Eintrag markiert/sichtbar ist, mal abgesehen davon daß man dann auch die Höhe der Listbox festlegt und somit ohne Scrollen auskommen kann bei 30 Zeilen.

Ich habe das schon paarmal gemacht, mal schauen ob ich den Code noch finde, oder obs schneller ist anstatt zu suchen, ihn neu zu schreiben.
Aber gib bitte erst mal Rückmeldung ob der obige Code dir schon mal weiterhilft.

Gruß
Reinhard

Hi Jorge,

ich hab mir ein Listenfeld erzeugt, dessen Einträge von a3:a27
aufgelistet werden sollen. Bisher sind aber nur die Zellen
a3:a8 gefüllt, die anderen kommen nach und nach dran, sie sind
also noch leer.

Wenn ich jetzt das Listenfeld aufmache, wird leider die erste
leere Zelle als erstes Auswahlfeld angezeigt. Ich muss immer
nach oben scrollen, um die „richtigen“ gefüllten Zellen
auswählen zu können.

Mache ich da was falsch oder ist das einfach so?

Das ist einfach so, wenn du erst die Liste hast und dann das Listenfeld erzeugst. Die Art der Einträge (Zahlen oder Text) hat keinen Einfluß, auch Leerzeichen helfen nicht.

Die Lösung ist einfach.
Lösche das Listenfeld, schneide die Einträge der Liste aus und füge sie irgendwo ein (nur zum Zwischenlagern). Gehe jetzt in die Zelle, in der du das Listenfeld erzeugen willst und definiere es entsprechend des Dialogs. Als Gültigkeitsbereich für die Liste gib jetzt den (nun gerade leeren) Zellbereich a3:a27 an. Schließe mit OK. Jetzt holst du deine zwischengespeicherte Liste (ausschneiden) und fügst sie wieder in a1:a8 ein.

Wenn du jetzt den Cursor in das Listenfald setzt, ist zunächst auch ein leerer Eintrag in der Liste aber unmittelbar darunter folgend sind die anderen Listeneinträge zur Auswahl bereit.

Du kannst das Ganze noch ein bißchen aufbereiten, in dem du als ersten Wert in der Liste z.B. „bitte wählen“ einträgst und ebenso in dem Listenfeld den gleichen Eintrag einfügst. Dann sieht man sofort, hier muß etwas ausgewählt werden. So klickt man automatisch in das richtige Feld, dabei klappt dann die Liste auf. Durch bedingte Formatierung könnte man den Eintrag „bitte wählen“ farbig darstellen, erst mit einem gewählten Eintrag ist die Standardschriftfarbe wieder eingestellt.

LG Marion

Hallo Marion,

schön dich wieder mal zu lesen *freu*

Ist schon erstaunlich mit welchen unterschiedlichen Blickwinkeln man auf Excel glotzt :smile:
Ich sehe jenes, Ralf dieses, du wahrscheinlich die beste Lösung, andere sehen anderes.
Und Excel bietet immer wieder überraschende Features/Bugs.
Lieben Gruß
Reinhard

Hi Reinhard,

schön dich wieder mal zu lesen *freu*

ja, der Lernstress ist grad auf einem Level angekommen, wo ich ein wenig relaxen kann, hab aber schon wieder ein neues Ziel
ja, ich hab schon paar mal geguckt, ob ich hier noch was zu schreiben find. *g*
Ich hab dich auf der Cebit vermisst

Ist schon erstaunlich mit welchen unterschiedlichen
Blickwinkeln man auf Excel glotzt :smile:
Ich sehe jenes, Ralf dieses, du wahrscheinlich die beste
Lösung, andere sehen anderes.
Und Excel bietet immer wieder überraschende Features/Bugs.

Ich hab einfach versucht, den „Fehler“ zu erzeugen. Erst gelang es mir nicht, aber dann auf einmal hab ich gesehen, was er beschrieb - aber dann wußte ich erst nicht wie ich das hinbekommen hatte. Entscheidend ist die Reihenfolge, in der man das ding anlegt. War für mich auch interessant.

LG Marion

Moin, Marion,

nun bin ich mal Deinem Pfad nachgetrampelt, und siehe da - es läuft nochmal anders :smile:

Also: Auswahl des Bereichs (25 Zellen) und anschließendes Füllen mit 7 Werten führt dazu, dass genau diese 7 Zellen in der Box gezeigt werden. Belege ich in dem Bereich weitere Zellen, dann tauchen auch diese in der Box auf. Leere Zellen sind in der Box nur dann zu sehen, wenn sie im Bereich zwischen belegten Zellen eingegeben wurden. Und nu?

Gruß Ralf :smile:))

Ach ja: Office 2000. Und nachdem ich nochmal draufgeschaut habe: Nach einer Auswahl öffnet die Box natürlich immer mit dem Wert, der zuletzt ausgewählt wurde, der steht ja auch noch drin - im Zweifelsfall eine leere Zelle. Das klappt übrigens auch mit der Einstellung „Leere Zellen ignorieren“, wozu immer das wieder gut sein möge.

Moin, Marion,

nun bin ich mal Deinem Pfad nachgetrampelt, und siehe da - es
läuft nochmal anders :smile:

Also: Auswahl des Bereichs (25 Zellen) und anschließendes
Füllen mit 7 Werten führt dazu, dass genau diese 7 Zellen in
der Box gezeigt werden. Belege ich in dem Bereich weitere
Zellen, dann tauchen auch diese in der Box auf. Leere Zellen
sind in der Box nur dann zu sehen, wenn sie im Bereich
zwischen belegten Zellen eingegeben wurden. Und nu?

Ja, so war es mir auch gegangen. Dadurch hatte ich ja das Problem, zu verstehen was Jorge meint, denn bei den ganzen Versuchen waren eigentlich immer alle gefüllten Einträge oben, darunter die leeren, abgesehen von dem ersten Eintrag, der entweder leer oder mit dem „alten“ (vorherigen) Eintrag belegt war. Hab immer gedacht, wo ist das Problem? Das ist nun mal bei einem Listenfeld so, dass man wählen muß/will/soll.

Interessant ist, als ich nach deinem Post das Ganze noch mal prüfen wollte, ich das nicht noch einmal so erzeugen konnte. Da ich aber bereits einmal die Anzeige genau wie in Jorges Beschreibung hatte. hab ich weiter probiert.

Folgendes Ergebnis:
Nicht die Reihenfolge beim Anlegen scheint den Effekt zu beeinflussen sondern die Definition der Gültigkeitsliste auf genau die Menge der vorhandenen Einträge. Wahrscheinlich hat auch die Anzahl der Listenfelder in einem Tabellenblatt Einfluß (bei nur einem einzigen Listenfeld konnte ich das ganze nicht nachvollziehen)

Alle Varianten, die ich probierte, lieferten immer den blauen Balken unter den eingetragenen Listeninhalten im aufgeklappten Dropdownfeld. Zugegeben, es ist schon umständlich, in einer aufgeklappten Auswahlliste keinen oder nur eine Reihe leeren Einträge und ein paar wenige Einträge zu sehen.

Nur das zuerst erstellte Listendropdownfeld wich davon ab und klappte einfach nur auf ohne den blauen Balken unter den auszuwählenden Einträgen. Das aber auch nur solange bis wie kein Listeneintrag ergänzt oder gelöscht wurde. Womöglich war ursprünglich nicht vorgesehen, dass mehrere solcher Listengültigkeiten in einer Mappe erstellt werden. Wurde vielleicht nachgebessert. k.A.

Hier meine Testergebnisse:

http://www.gmx.de/mc/qvcDZWdnZLy6MUfoQpLMZ33JkixHAk

Hinweis: Der Link für den Gastzugang zum GMX MediaCenter ist bis zum
12.4.2008 gültig.

Immerhin kann man Einfluß auf die Position des blauen Balkens nehmen, indem man einfach die erste Zelle in der Liste leer lässt. für diesen Fall ist der blaue Balken zwar immer noch da aber zumindest über der Auswahl positioniert und man sieht so zumindest gleich die ersten Einträge.

Eine andere Möglichkeit wäre, den ersten Eintrag bereits als vorgewählten Eintrag in das Dropdownfeld einzutragen wie bei Liste8.

Zuverlässig verhindern kann man den blauen Balken nach meiner Meinung nur, wenn die Liste genau auf die Anzahl der tatsächlichen Einträge abgestimmt ist (dazu einfach über „Einfügen, Namen, definieren“ den Bereich der Liste exakt an die Anzahl der Einträge anpassen. Auf diese Weise verschwindet der blaue Balken in der betreffenden aufgeklappten Liste. Gib man dem Bereich, der die Liste enthält einen Namen kann man bei erforderlichen Ergänzungen der Liste auch den Bereich der Liste komfortabel anpassen. Hier bietet sich für die automatische Anpassung des Bereichs die Funktion Bereich.verschieben in Kombination mit Anzahl2 an. (Ist allerdings eine kleine Knobelei)

Eventuell hat man auch über die Beschränkung auf genau ein Listenfeld mit Liste in der gesamten Tabelle oder Mappe Einfluß auf die Darstellung der Auswahleinträge ohne den blauen Balken. Das habe ich jetzt nicht geprüft.

Immerhin sieht man an diesem Beispiel, dass Excel wie ein unbekanntes tiefes Wasser doch noch so einige Geheimnisse zu bieten hat.

LG Marion

Liebe Excelianer,

ich bin zuweilen dermaßen überrascht, was manche Fragen auslösen…

Ich hatte gestern schon probiert, Marions Ansatz nachzuvollziehen, aber mir gelang das auch nicht. War schon völlig verwirrt. Jetzt bin ich natürlich etwas entspannter.

Ich werde mir jetzt also die Mühe machen, meine 510 Listen, die auf 13 Blättern verteilt sind, mit einer obersten leeren Zeile zu ergänzen. Und das in 5 Dateien. Das wirft eine neue Frage auf, die ich aber neu posten möchte.

Also noch mal vielen Dank für die Mühe, vor allem für die gmx-Datei.

Liebe Grüße

Jorge

Hallo Jorge,

Ich hatte gestern schon probiert, Marions Ansatz
nachzuvollziehen, aber mir gelang das auch nicht. War schon
völlig verwirrt. Jetzt bin ich natürlich etwas entspannter.

ich hab ihn nicht (noch) nachvollzogen, mir liegt eher sowas:
http://www.hostarea.de/server-03/Maerz-67214e9b38.xls

-)

Gruß
Reinhard

Hallöchen Marion,

schön dich wieder mal zu lesen *freu*

ja, der Lernstress ist grad auf einem Level angekommen, wo ich
ein wenig relaxen kann, hab aber schon wieder ein neues Ziel

du erstaunst mich, nach soviel Lernen hätte mein privater Hirnspeicher erst mal reinschreibPause :smile:

ja, ich hab schon paar mal geguckt, ob ich hier noch was zu
schreiben find. *g*

war wenig los.

Ich hab dich auf der Cebit vermisst

Ist nicht so meine Welt, aber ich finde die gut, nach jeder Cebit oder Weihnachten finde ich tolle Hardware im Sperrmüll.

Ist schon erstaunlich mit welchen unterschiedlichen
Blickwinkeln man auf Excel glotzt :smile:
Ich sehe jenes, Ralf dieses, du wahrscheinlich die beste
Lösung, andere sehen anderes.
Und Excel bietet immer wieder überraschende Features/Bugs.

Ich hab einfach versucht, den „Fehler“ zu erzeugen. Erst
gelang es mir nicht,

Ja leider, ggfs. braucht man echt eine wirkliche Step by step Anweisung wie der Andere irgendwas getan hat um das erstmal nachstellen zu können, sodaß der „Fehler“ kommt.

aber dann auf einmal hab ich gesehen, was
er beschrieb - aber dann wußte ich erst nicht wie ich das
hinbekommen hatte. Entscheidend ist die Reihenfolge, in der
man das ding anlegt. War für mich auch interessant.

Für alle hier.

GuK
Reinhard

Hallo Reinhard, du Hexer,

ich hab ihn nicht (noch) nachvollzogen, mir liegt eher sowas:
http://www.hostarea.de/server-03/Maerz-67214e9b38.xls

-)

Das Ergebnis von deinem Makro ist natürlich Klasse, aber für mich jede Menge Nummern zu hoch.

Hier ein Ausschnitt meiner Datei:

http://www.hostarea.de/server-03/Maerz-690bc13e70.xls

Das Ganze mal 30 auf einem Tabellenblatt mit insgesamt 14 Blättern und insgesamt 5 Dateien.
Deshalb eher die Frage, wie du das linke Beispiel „GueltigkeitsListBox“ hingekriegt hast. Oder ist das auch makrotisiert?

Gruß

Jorge

Halo Jorge,

ich hab ihn nicht (noch) nachvollzogen, mir liegt eher sowas:
http://www.hostarea.de/server-03/Maerz-67214e9b38.xls

-)

Das Ergebnis von deinem Makro ist natürlich Klasse, aber für
mich jede Menge Nummern zu hoch.

Hier ein Ausschnitt meiner Datei:

http://www.hostarea.de/server-03/Maerz-690bc13e70.xls

Das Ganze mal 30 auf einem Tabellenblatt mit insgesamt 14
Blättern und insgesamt 5 Dateien.

Deshalb eher die Frage, wie du das linke Beispiel
„GueltigkeitsListBox“ hingekriegt hast. Oder ist das auch
makrotisiert?

nein, es ist absolut völlig Makrofrei. In A Daten eintragen, dann in B3 gehen, Daten–Gültigkeit, als Liste-Quelle A3:A30, fertig.

Das ist ja der Grund warum ich nicht nachvollziehen kann was du Ralf, Marion schreibst (naja, bei Marion habe ich die letzte Lösung noch nicht nachgeschaut).

Getestet mit XL97, 2002

Und wer sich den Code anschaut, wegen XL97 heißt das Ding mal LB1, ListBox1, ListBox2, wenn mir da jmd. sagen könnte wie das zu umgehen ist?
Aber hat keine Priorität.

Gruß
Reinhard

Halo Jorge,

Deshalb eher die Frage, wie du das linke Beispiel
„GueltigkeitsListBox“ hingekriegt hast. Oder ist das auch
makrotisiert?

nein, es ist absolut völlig Makrofrei. In A Daten eintragen,
dann in B3 gehen, Daten–Gültigkeit, als Liste-Quelle A3:A30,
fertig.

Das ist ja der Grund warum ich nicht nachvollziehen kann was
du Ralf, Marion schreibst (naja, bei Marion habe ich die
letzte Lösung noch nicht nachgeschaut).

Getestet mit XL97, 2002

Und wer sich den Code anschaut, wegen XL97 heißt das Ding mal
LB1, ListBox1, ListBox2, wenn mir da jmd. sagen könnte wie das
zu umgehen ist?
Aber hat keine Priorität.

Hallo

Reinhard

ich kann machen was ich will (auch mit 2002), bei mir funktioniert das nicht; wenn ich das Listenfeld zum ersten Mal öffne, kommt immer die erste leere Zelle.
Aber ich weiß jetzt, warum ich mir die Arbeit mit der leeren Zeile ganz oben machen werde ( hat Marion schon beschrieben): in meiner Datei werden die Einträge aus der Liste ausgewählt, später aber auch wieder gelöscht. Da immer der letzte Eintrag beim nächsten Mal wieder auftaucht ( ist ja auch bei deinem Beispiel so ), und das in meinem Fall eine leere Zelle wäre, ist es vernünftig, dass die ganz oben steht und die gefüllten Zellen darunter.

Liebe Grüße

Jorge

Guten Morgen Reinhard,

nein, es ist absolut völlig Makrofrei. In A Daten eintragen,
dann in B3 gehen, Daten–Gültigkeit, als Liste-Quelle A3:A30,
fertig.

Das ist ja der Grund warum ich nicht nachvollziehen kann was
du Ralf, Marion schreibst (naja, bei Marion habe ich die
letzte Lösung noch nicht nachgeschaut).

ist nicht wirklich ne Lösung *g*
aber mach mal folgendes in deiner Datei, lösche den Eintrag in B3, anschließend Enter, gehe jetzt wieder in B3, die Liste klappt auf und was siehst du: den blauen Balken und welche Einträge? Kannst du jetzt das Problem die Fragestellung nachvollziehen?

LG Marion