Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1472to1476
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
Inhaltsverzeichnis

List-/Text-/Combobox

List-/Text-/Combobox
03.02.2016 06:50:59
Wlo

Guten Tag zusammen
Offenbar war meine letzte Anfrage zu kompliziert. Nur so kann ich es mir erklären, dass niemand eine Antwort gab.
Darum versuche ich es in Einzelschritten mit der Hoffnung, dass ich so meine UF mit Listboxen zum Laufen bringe.
Ausgangslage: Ich habe in Tabelle1 Städte (Spalten A=Schweiz, B=Deutschland, C=Österreich). Ebenso gibt es eine Userform mit ListBox, TextBox und ComboBox.
In der ComboBox kann das Land gewählt werden.
Was geschehen soll: Nach Auswahl via ComboBox möchte ich nun die StädteListe des ausgewählten Landes in der ListBox anzeigen lassen. Das Suchen via TextBox funktioniert bereits gut.
Sobald ich ein Land ausgewählt habe, muss dieses in F3 stehen. Dies, da ich später mit dieser Zelle weiter arbeiten muss.
Ich wäre schon sehr froh, wenn ich es bis hierhin schaffen würde. Besten Dank!
https://www.herber.de/bbs/user/103242.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: List-/Text-/Combobox
03.02.2016 09:32:01
fcs
Hallo Wlo,
probiere mal, ob der nachfolgende angepasste Code für das Userform für deine Zwecke passt.
Gruß
Franz
Option Explicit
Private bolClickListbox As Boolean
Sub prcFillListbox1()
Dim lSpalte As Long
Dim lZeile As Long
Dim WkSh As Worksheet
ListBox1.Clear
If sSpalte = "" Then
MsgBox "Bitte erst ein Land auswählen", _
48, "   Prüfung Auswahl Land"
Exit Sub
Else
lSpalte = Asc(sSpalte) - 64
End If
Set WkSh = Worksheets("Tabelle1")
With WkSh
For lZeile = 2 To .Cells(.Rows.Count, lSpalte).End(xlUp).Row
If .Cells(lZeile, lSpalte).Value <> "" Then
ListBox1.AddItem .Cells(lZeile, lSpalte).Text
End If
Next lZeile
End With
'ListBox1.AddItem WkSh.Cells(lZeile, sSpalte)
Call Sortieren
End Sub
Private Sub UserForm_Initialize()
With Me.ComboBox1
.AddItem ""
.AddItem "Schweiz"
.AddItem "Deutschland"
.AddItem "Österreich"
.ListIndex = 0
End With
End Sub
Private Sub ComboBox1_Change()
Cells(3, 6).Value = ComboBox1.Value
If Me.ComboBox1.ListIndex > 0 Then
sSpalte = Chr(Me.ComboBox1.ListIndex + 64)
Call prcFillListbox1
Else
sSpalte = ""
Me.ListBox1.Clear
End If
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
bolClickListbox = True
With Me.ListBox1
If .ListIndex <> -1 Then
Me.TextBox1.Value = .List(.ListIndex, 0)
End If
End With
bolClickListbox = False
End Sub
Private Sub TextBox1_Change()
Dim iZeichen  As Integer
Dim WkSh      As Worksheet
Dim lZeile    As Long
Dim lSpalte   As Long
If bolClickListbox = True Then Exit Sub
If sSpalte = "" Then
MsgBox "Bitte erst ein Land auswählen", _
48, "   Prüfung Auswahl Land"
Exit Sub
Else
lSpalte = Asc(sSpalte) - 64
End If
Set WkSh = Worksheets("Tabelle1")
Me.ListBox1.Clear
With WkSh
For lZeile = 2 To .Cells(.Rows.Count, lSpalte).End(xlUp).Row
If .Cells(lZeile, lSpalte).Value <> "" Then
If Len(Me.TextBox1.Value) <> 0 Then
If Left(LCase(.Cells(lZeile, lSpalte).Value), Len(Me.TextBox1.Value)) = _
LCase(Me.TextBox1.Value) Then
If WorksheetFunction.CountIf(.Range(.Cells(1, lSpalte), .Cells(lZeile, lSpalte)) _
, _
.Cells(lZeile, lSpalte)) = 1 Then _
ListBox1.AddItem .Cells(lZeile, lSpalte).Text
End If
End If
End If
Next lZeile
End With
'ListBox1.AddItem WkSh.Cells(lZeile, sSpalte)
Call Sortieren
End Sub
Private Sub UserForm_Activate()
Dim iZeichen  As Integer
Dim WkSh      As Worksheet
Dim lZeile    As Long
Call ComboBox1_Change
End Sub
Sub Sortieren()
Dim Letzter    As Integer
Dim Naechster  As Integer
Dim sTmp       As String
With UserForm1.ListBox1
For Letzter = 0 To .ListCount - 1
For Naechster = Letzter + 1 To .ListCount - 1
If .List(Letzter) > .List(Naechster) Then
sTmp = .List(Letzter)
.List(Letzter) = .List(Naechster)
.List(Naechster) = sTmp
End If
Next Naechster
Next Letzter
End With
End Sub

Anzeige
AW: List-/Text-/Combobox
03.02.2016 11:49:23
Wlo
Hallo Franz
Ganz herzlichen Dank für deine grosse Hilfe. Genau so hatte ich es mir vorgestellt und gewünscht. Ich werde nun versuchen, deinen Code näher zu verstehen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige