Anzeige
Archiv - Navigation
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox

ComboBox
07.03.2008 22:36:33
Jean-Pierre
Hallo Forum,
in einer Userform möchte ich verschiedene Leistungen in aufeinanderfolgende TextBoxes auswählen können.
Hier der Code zum Anzeigen einer Leistung in einer TextBox.
Die Liste der Leistungen befindet sich in der Spalte 3 der Tabelle "Listen"
Diesen Code habe ich aus einem bestehenden Programm herauskopiert und angepasst.

'Leistungs-Liste1 füllen
Private Sub cboLeistung1_Enter()
Dim LZLei As Integer
Set wksListen = Sheets("Listen")
LZLei = wksListen.Cells(65536, 3).End(xlUp).Row
Dim col As New Collection
Dim iRow As Integer
iRow = 2
On Error Resume Next
Do Until IsEmpty(wksListen.Cells(iRow, 3))
col.Add wksListen.Cells(iRow, 3), wksListen.Cells(iRow, 3)
If Err = 0 Then
cboLeistung1.AddItem wksListen.Cells(iRow, 3)
Else
Err.Clear
End If
iRow = iRow + 1
Loop
On Error GoTo 0
cboLeistung1.ListIndex = 0
cboLeistung1 = ""
End Sub


Beim Anwählen (mit Tab) wird der Inhalt der TextBox gelöscht und die Liste der Leistungen öffnet sich.
Der Nachteil ist, dass wenn man sich nur mit der Tab-Taste über die TextBoxen bewegt verschwinden die Einträge nacheinander.
Wie muss ich den Code ändern, dass man von TextBox zu TextBox springen kann (Tab) onhe dass die Inhalte verschwinden. Die Liste soll sich auch nicht atomatisch öffnen, sondern nur dann erscheinen, wenn man auf den Listenpfeil clickt.
Herzlichen Dank im Voraus
Jean-Pierre

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox
08.03.2008 16:09:00
fcs
Hallo Jean-Pierre,
du sprichts mal von Textboxen, mal von Comboboxen; etwas verwirrend. Die Notwendigkeit, die Auswahllisten von Comboboxen jedesmal zu aktualiseren bevor man eine Auswahl/Eingabe macht, besteht nur, wenn sich die Daten in der zugehörigen Tabelle während der Fomulareingaben ändern. Wenn die Auswahllisten für die Comboboxen nur einmal beim Anzeigen/Aktivieren des Formulars erzeugt werden müssen, dann kannst du die Activate oder Initialize Prozedur des Userforms verwenden statt der Enter-Ereignisprozedur der Combobox. Dann bleibt der Wert in der Combobox auch erhalten. Die Auswahlliste wird dann auch nur bei Klick auf den Auswahlpfeil angezeigt oder mit Tastenkombination Alt+Pfeilunten/-oben
Gruß
Franz
Code schaut dann etwa so aus. Für weiter Comboboxen muss du dann entsprechende Zeilen einfügen.

Private Sub UserForm_Activate()
'Auswahllisten für Comboboxen im Userform füllen
Dim LZLei As Integer '#### Deklaration ist ggf. überflüssig
Dim col As New Collection
Dim iRow As Integer
Dim wksListen As Worksheet
On Error Resume Next
'Leistungs-Liste1 füllen
Set wksListen = Sheets("Listen")
With wksListen
LZLei = .Cells(.Rows.Count, 3).End(xlUp).Row '#### Zeile ist hier überflüssig
iRow = 2
Do Until IsEmpty(.Cells(iRow, 3))
col.Add .Cells(iRow, 3), .Cells(iRow, 3)
If Err = 0 Then
Me.cboLeistung1.AddItem .Cells(iRow, 3)
Else
Err.Clear
End If
iRow = iRow + 1
Loop
End With
On Error GoTo 0
Me.cboLeistung1.ListIndex = 0
Me.cboLeistung1 = ""
End Sub


Anzeige
AW: ComboBox
10.03.2008 20:36:35
Jean-Pierre
Hallo Franz,
Klasse, das war die perfekte Lösung.
Selbstverständlich sind nur ComboBoxen gemeint und keine Textboxen - Sorry.
Das war mal wieder learning by asking.
Es sind diese Tipps und Tippgeber, die dieses Forum so wertvoll machen.
Danke und herzliche grüße aus Reutlingen
Jean-Pierre

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige