Excel: Formular->Listenfeld (Listbox)

Ceppi

Erfahrenes Mitglied
Hallo,

Excel bietet ja die Möglichkeit, typische Windows-Forms wie z.B. eine List-oder ComboBox direkt auf einem Arbeitsblatt zu plazieren. Mein Ziel war, Auswahlmöglichkeiten (aus einem Zellbereich/Range) in eine Auswahlliste zu transportieren und den ausgewählten Wert in eine angegebene Zelle zu schreiben.

Ich erstelle mir also über die Symbolleiste Formular->Listenfeld ein solches Element und weise in den Eigenschaften die sogenannten Eingabebereiche und die Zellverknüpfung zu.

Das Problem:
Als zurückgegebenen Wert erhalte ich die Position der ausgewählten Option (Bsp.: Orange,Rot,Gelb als Optionen - ergibt bei Wahl von Orange 1,Rot 2 und Gelb 3). Eigentlich sollte doch aber der Optionswert in die Zelle geschrieben werden...

Ceppi
 
Hallo D@nger,

hier habe ich eine Beispiel-xls im Anhang beigefügt. Vielleicht hilft es, das problem nachzuvollziehen...

Ceppi
 

Anhänge

  • formelemente.zip
    5,8 KB · Aufrufe: 5.593
Hallo Ceppi

Leider kann ich mit der von Dir verwendeten Listbox nichts anfangen, ich finde keine Eigenschaften bzw. Ereignisse. Ich schlage folgende Vorgehensweise vor:

- Aktiviere die Symbolleiste „Steuerelemente-Toolbox“.

- Klicke auf das Symbol „Listenfeld“, Entwurfsmodus wird eingeschaltet und Kursor ändert sich in ein Fadenkreuz.

- Zeichne auf Deinem Tabellenblatt die Umrisse des Listenfeldes.

- Klicke mit der rechten Maustaste auf das Listenfeld.

- Klicke in dem Fenster das sich geöffnet hat auf „Eigenschaften“.

- Trage bei der Eigenschaft „ListFillRange“ den Bereich ein, aus dem die Daten kommen. In Deinem Beispiel „A3:A6“, Fenster „Eigenschaften“ schließen.

- Klicke noch mal mit der rechten Maustaste auf das Listenfeld.

- Klicke in dem Fenster das sich geöffnet hat auf „Code anzeigen“. Du gelangst so in den VBA-Editor und zwar zur „Sub ListBox1_Click()“.

- Trage folgende Programmzeile ein: Worksheets(1).Range("c3").Value = ListBox1.Text Worksheets(1) bedeutet auf dem ersten Tabellenblatt und c3 ist die Zelle in die das Ergebnis eingetragen werden soll.

- Schließe den VBA-Editor.

- Beende den Entwurfsmodus.

Als Anlage die modifizierte Mappe.

Viel Erfolg
W. Gutermann
 
Zurück