Hallo Chris,
also ich sehe das so !
Private Sub CB1_Click()
'
Rem Kundensuche As Integer führt zu Fehler wenn Input abgebrochen
Dim Kundensuche As String
Rem ??
'Dim Kundensuche2 As String
'
Dim anzahl_kunden As Integer
'
Rem Kundendaten als String aufsammeln, dann geht nur in die erste Spalte
'Dim Kundendaten As String
Dim i As Long 'Zähler
'
Dim gefunden As Boolean
gefunden = False
'
Rem ??
'LB_Ergebnisse.AddItem Cells(1, 1) & " " & Cells(1, 2) & " " & Cells(1, 3) & " " & Cells(1, 4) & " " & Cells(1, 5)
'
Rem bereits hier die Listbox formatieren
With LB_Ergebnisse
.ColumnCount = 5
.ColumnWidths = "1,5cm;2,5cm;2,5cm;2cm;3cm"
Rem Spaltenüberschriften nur bei Verwendung von .RowSource ! - aber
'.ColumnHeads = True
Rem geht so nicht, denn danach kann nicht AddItem oder List verwendet werden
'.RowSource = "Tabelle1!A1:E1"
End With
Rem
'
Kundensuche = InputBox("Bitte geben Sie die Kundennummer des Kunden ein", "Kundensuche")
' Sucht die unterste gefüllte Zeile und gibt ihre Position bzw. Zeilennummer weiter.
anzahl_kunden = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
'
' Geht die Zeilen von der letzten gefüllten Zeile aus nach oben bis Zeile 2 durch.
'
Rem wenn von unten nach oben, dann ....
'
For i = anzahl_kunden To 2 Step -1
'
If CStr(Cells(i, 4).Value) = Kundensuche Then
Rem so nicht - siehe REM oben
'Kundendaten = Cells(i, 1) & " " & Cells(i, 2) & " " & Cells(i, 3) & " " & Kundensuche & " " & Cells(i, 5)
'LB_Ergebnisse.AddItem Kundendaten
With Me.LB_Ergebnisse 'in Listbox
.AddItem 'neuer Eintrag
.List(.ListCount - 1, 0) = Cells(i, 1).Value
.List(.ListCount - 1, 1) = Cells(i, 2).Value
.List(.ListCount - 1, 2) = Cells(i, 3).Value
.List(.ListCount - 1, 3) = Kundensuche
.List(.ListCount - 1, 4) = Cells(i, 5).Value
End With
'
gefunden = True
'
End If
'
Next i
'
If gefunden = False Then
MsgBox ("Unbekannter Kunde.")
End If
'
End Sub
|