Eine umfangreiche Tabelle enthält Angaben über Kontobewegungen. Über eine InputBox will ich Textteile als Suchbegriff eingeben und diese Angaben in der Tabelle suchen lassen, anschließend soll/en der/die zugehörige/n Datensatz/-sätze in der LB aufgeführt werden.
Spalteninhalte:
Konto-Bez. SpalteA
Konto Spalte B
Datum Spalte C
Beleg-Nr. Spalte D
Buchungstext Spalte E
Betrag Spalte F
Suchbegriff = InputBox("Suchbegriff:", "Suchen")
With frmKonten
.lstKonten.ColumnCount = 5
.lstKonten.ColumnWidths = "30;58;55;156;50"
.lstKonten.Clear
.lstKonten.Width = 355
Zeile = 2
Range("A2").Select
Do Until ActiveCell.Value = ""
If InStr(ActiveCell.Value, Suchbegriff) > 0 Then~f~
.lstKonten.AddItem ActiveCell.Value
.lstKonten.Column(0, Zeile) = ActiveCell.Offset(0, 1).Value 'Konto--Spalte B
.lstKonten.Column(1, Zeile) = ActiveCell.Offset(0, 2).Value 'Datum--Spalte C
.lstKonten.Column(2, Zeile) = ActiveCell.Offset(0, 3).Value 'Beleg-Nr.--Spalte D
.lstKonten.Column(3, Zeile) = ActiveCell.Offset(0, 4).Text 'Buchungstext--Spalte E
.lstKonten.Column(4, Zeile) = ActiveCell.Offset(0, 5).Text 'Betrag--Spalte F
End If
Zeile = Zeile + 1
ActiveCell.Offset(1, 0).Select
Loop
End With
Bis zur Codezeile: ~f~If InStr(ActiveCell.Value, Suchbegriff) > 0 Then
läuft die Suche problemlos, bei Übereinstimmung der Begriffe: ActiveCell.Value, Suchbegriff ändert InStr seinen Wert von 0 auf 1.
Anstatt die ListBox zu befüllen erhalte ich immer wieder den Laufzeitfehler 381 angezeigt:
Eigenschaft Column konnte nicht angezeigt werden. Index des Eigenschaftsfelds ungültig
An anderer Stelle im Programmcode wird die gleiche ListBox in Abhängigkeit eines CB-Eintrags mit den Datensätzen jeweils einer Konto-Bez. (Spalte A) befüllt.
Warum lässt sich die LB nicht anhand des Suchbegriffes befüllen, wo liegt der Fehler?
mfg
reiner