Listenfeld

16/02/2008 - 16:49 von tobias | Report spam
Guten Tag

Mit Ansicht-Symbolleisten-Formular habe ich in xls ein Listenfeld (Mit
dem Button "Listenfeld") gemacht und muss nun folgendes wissen:

1) Wie kann ich dieses Listenfeld mit Eintràgen füllen?
2) Wie kann die danach mit der Maus markierten Eintràge an Visual
Basic übergeben?

Danke für jegliche Hilfe und Gruss

Tobias
 

Lesen sie die antworten

#1 stefan onken
18/02/2008 - 11:26 | Warnen spam
On 16 Feb., 16:49, tobias wrote:
Guten Tag

Mit Ansicht-Symbolleisten-Formular habe ich in xls ein Listenfeld (Mit
dem Button "Listenfeld") gemacht und muss nun folgendes wissen:

1) Wie kann ich dieses Listenfeld mit Eintràgen füllen?
2) Wie kann die danach mit der Maus markierten Eintràge an Visual
Basic übergeben?

Danke für jegliche Hilfe und Gruss

Tobias



hallo Tobias,
muss es denn ein Listenfeld aus der Formular-Symbolleiste sein? Das
ist eher für die Auswahl von Daten ohne Verwendung von VBA gedacht.
Wenn du auf dem Listenfeld rechtsklickst, dann Steuerelement
formatieren, findest du im Register Steuerung den Eingabebereich und
die Zellverknüpfung. Diese kann man per VBA setzen und auch abfragen.
Das Listenfeld selbst wird als Shape angesprochen. Um zB den
Eingabebereich per Makro festzulegen:
Sheets(1).Shapes("List Box 1").DrawingObject.ListFillRange = "$B$1:$B
$12"

Um den markierten Eintrag an VBA zu übergeben, kannst du das Ereignis
Click des Listenfeldes mit einem Makro verknüpfen (rechtsklick auf
Listenfeld, Makro zuweisen). Das Makro musst du vor der Zuweisung
natürlich erstmal programmieren. Du kannst mit einem Makro aber auch
den Inhalt der verknüpften Zelle abfragen.
zB um an den ausgewàhlten Wert des Listenfeldes zu kommen:
gehe im VBA-Editor auf Einfügen/Modul
ins große Codefenster kopierst du

Sub ListenfeldAuswahl()
With Sheets(1)
Set shp = .Shapes(Application.Caller)
MsgBox Range(shp.ControlFormat.ListFillRange) _
.Cells(shp.DrawingObject.Value).Value
End With
End Sub

Editor beenden und dieses Makro dem Listenfeld zuweisen.

So, und nun gibt es auch noch ein Listenfeld in Ansicht/Symbolleisten/
Steuerelement-Toolbox. Das ist eher für die VBA-Programmierung
gedacht. Hier kann man einzelne Eintràge hinzufügen mit AddItem und
den ausgewàhlten Wert abfragen mit MsgBox Sheets(1).ListBox1.Value

Gruß
stefan

Ähnliche fragen