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 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
 

Neue Beiträge

Zurück