Hallo zusammen,
kann mir jemand bitte erklären, warum beim SpinButton Event der ListIndex meiner ComboBox immer -1 ist. Wenn ich jedoch, über die ComboBox direkt ein anderen ListIndex auswähle, der mir über das Event ComboBox_Change die richtige ListIndex ausgibt?
Es geht darum, dass ich über ein ActiveX SpinButton ganz bequem durch meine ComboBox scrollen möchte. Dies hat bisher auch wunderbar geklappt, bis ich auf eine zweispaltige ComboBox geändert habe, um für weitere Funktionen grundlegend den Code zu optimieren.
ERGÄNZUNG:
Es liegt an folgender Zeile:
Hat jemand eine Idee, wie ich es so drehe, dass der SpinButton mit dem ListIndex arbeiten kann. Auch wenn ich den ComboBox.Value vorher im ComboBox_Change Event übersichtlicherweise geändert habe?
Gruß
Ricci
kann mir jemand bitte erklären, warum beim SpinButton Event der ListIndex meiner ComboBox immer -1 ist. Wenn ich jedoch, über die ComboBox direkt ein anderen ListIndex auswähle, der mir über das Event ComboBox_Change die richtige ListIndex ausgibt?
Es geht darum, dass ich über ein ActiveX SpinButton ganz bequem durch meine ComboBox scrollen möchte. Dies hat bisher auch wunderbar geklappt, bis ich auf eine zweispaltige ComboBox geändert habe, um für weitere Funktionen grundlegend den Code zu optimieren.
Code:
Private Sub ComboBox2_Change()
Dim selectedRow As Long
' Überprüfen, ob ein Element ausgewählt wurde
If ComboBox2.ListIndex >= 0 Then
' Index der ausgewählten Zeile speichern
selectedRow = ComboBox2.ListIndex
' Firma und Kunden-ID aus den ausgewählten Zeilen abrufen
Dim firma As String
Dim kundenID As String
firma = ComboBox2.List(selectedRow, 1) ' 1 ist die Indexnummer der Firma-Spalte
kundenID = ComboBox2.List(selectedRow, 0) ' 0 ist die Indexnummer der Kunden-ID-Spalte
' Wert in der ComboBox aktualisieren
ComboBox2.Value = "[" & kundenID & "] " & firma
Range("C6").Value = kundenID
Range("C7").Value = firma
Label2.Caption = selectedRow + 1 & " / " & ComboBox2.ListCount
End If
End Sub
Private Sub SpinButton1_SpinDown()
Dim currentIndex As Long
currentIndex = ComboBox2.ListIndex
If currentIndex > 0 Then
ComboBox2.ListIndex = currentIndex - 1
End If
End Sub
Private Sub SpinButton1_SpinUp()
Dim currentIndex As Long
currentIndex = ComboBox2.ListIndex
If currentIndex < ComboBox2.ListCount - 1 Then
ComboBox2.ListIndex = currentIndex + 1
End If
End Sub
ERGÄNZUNG:
Es liegt an folgender Zeile:
Code:
ComboBox2.Value = "[" & kundenID & "] " & firma
Hat jemand eine Idee, wie ich es so drehe, dass der SpinButton mit dem ListIndex arbeiten kann. Auch wenn ich den ComboBox.Value vorher im ComboBox_Change Event übersichtlicherweise geändert habe?
Gruß
Ricci