Weiß jemand, wie eine Combobox per Makro so angezeigt wird, als hätte ich die Combobox mit der Maus angeklickt?
Vielleicht gibt es eine Lösung dazu, ohne auf Listbox ausweichen zu müssen.
Liebe Grüße
Roli
Private Sub e_marke_afterclick() versucht. Woran liegt mein Fehler?
Private Sub e_marke_Click()
Dim i As Long, a As Long, b As Long
Dim myArray() As Variant
On Error Resume Next
a = Lagerblatt.Cells(Rows.Count, 1).End(xlUp).Row
'---Grösse des Paramters b bestimmen für die Array-Länge----
b = 0
For i = 2 To a
If UCase(Lagerblatt.Cells(i, 1).Value) Like UCase(e_marke.Text & "*") Then b = b + 1
Next i
'---Listbox mit gesuchten Werten füllen----
With Me
.e_artnr.Clear
ReDim myArray(b - 1, 2)
b = 0
For i = 2 To a
If UCase(Lagerblatt.Cells(i, 1).Value) Like UCase(e_marke.Text & "*") Then
myArray(b, 0) = Lagerblatt.Cells(i, 2)
myArray(b, 1) = Lagerblatt.Cells(i, 1)
myArray(b, 2) = Format(Lagerblatt.Cells(i, 4), "00")
b = b + 1
End If
Next i
.e_artnr.List = myArray
.e_artnr.DropDown
End With
With Me
.e_artnr = e_marke.List(e_marke.ListIndex, 1)
.e_menge.Value = "1"
End With
End Sub
Private Sub e_marke_afterclick() versucht. Woran liegt mein Fehler?
Private Sub e_marke_Click()
Dim i As Long, a As Long, b As Long
Dim myArray() As Variant
On Error Resume Next
a = Lagerblatt.Cells(Rows.Count, 1).End(xlUp).Row
'---Grösse des Paramters b bestimmen für die Array-Länge----
b = 0
For i = 2 To a
If UCase(Lagerblatt.Cells(i, 1).Value) Like UCase(e_marke.Text & "*") Then b = b + 1
Next i
'---Listbox mit gesuchten Werten füllen----
With Me
.e_artnr.Clear
ReDim myArray(b - 1, 2)
b = 0
For i = 2 To a
If UCase(Lagerblatt.Cells(i, 1).Value) Like UCase(e_marke.Text & "*") Then
myArray(b, 0) = Lagerblatt.Cells(i, 2)
b = b + 1
End If
Next i
.e_artnr.List = myArray
.e_artnr.DropDown
End With
With Me
.e_artnr = e_marke.List(e_marke.ListIndex, 1)
End With
End Sub