Hallo Ralf,
für die Initialisierung würde ich das so machen
Um nachher die Auswahl in der Combox zu ermitteln würde ich folgendes Konstrukt wählen:
Das Klick-Event verwende ich in der Regel bei Listboxen. Ich habe es hier mit dem Change-Ereignis getestet und realisiert.
Warum das mit der Match-Funktion nicht klappt, bin ich überfragt. Ungetestet vielleicht so?
Gruß
Ich
für die Initialisierung würde ich das so machen
Code:
Private Sub UserForm_Initialize()
Dim loLetzte As Long
Dim objWs As Worksheet
Dim intZ As Integer
Set objWs = ThisWorkbook.Worksheets("Datenbankliste")
' loLetzte = objWs.Cells(Rows.Count, 9).End(xlUp).Row ' letzte belegte in Spalte I (9)
' With ComboBox1
' .List = objWs.Range("I2:I" & loLetzte).Value
' For i = .ListCount - 1 To 0 Step -1
' If Left(.List(i), 1) <> "A" Then .RemoveItem i
' Next i
' End With
With UserForm1
.ComboBox1.ColumnCount = 2 'Spaltenanzahl der Combobox
.ComboBox1.ColumnWidths = "25;25" 'Spaltenbreite der Combobox "25;0" weißt der 2. Spalte die Länge 0 zu
intZ = 0 'zum Festlegen der Zeile beim Befüllen der Combobox
For i = 2 To objWs.Cells(2, 9).End(xlDown).Row
If Left(objWs.Cells(i, 9), 1) = "A" Then
.ComboBox1.AddItem objWs.Cells(i, 9)
.ComboBox1.Column(1, intZ) = objWs.Cells(i, 9).Row
intZ = intZ + 1 'Zeilenzähler erhöhen
End If
Next i
End With
End Sub
Um nachher die Auswahl in der Combox zu ermitteln würde ich folgendes Konstrukt wählen:
Code:
Private Sub ComboBox1_Change()
Dim z As Integer
Dim strKFZKennz As String
With UserForm1
z = .ComboBox1.ListIndex
strKFZKennz = .ComboBox1.Column(1, z)
MsgBox (strKFZKennz)
End With
End Sub
Das Klick-Event verwende ich in der Regel bei Listboxen. Ich habe es hier mit dem Change-Ereignis getestet und realisiert.
Warum das mit der Match-Funktion nicht klappt, bin ich überfragt. Ungetestet vielleicht so?
Code:
Zeile = WorksheetFunction.Match("ComboBox1.Text", Columns(9), 0)
Gruß
Ich