Erstens muß es heißen
If ComboBox56.ListIndex <> 1 Then
Das heißt nur, daß der Code nur ausgeführt werden darf, wenn in der ComboBox auch tatsächlich ein Eintrag ausgewählt ist. Ab wann gesucht wird bestimmt die Zeile
lngZeile = ComboBox56.ListIndex + 3
Da ComboBoxen den Index mit Null beginnen, heißt der erste Eintrag hat den Index = 0, muß die Nummer der ersten zu durchsuchenden Zeile addiert werden, da eine Zeile = 0 zu einem Fehler führen würde.
Wo Du den LetzteZeile - Code brauchst kann ich nicht sagen. Was Du mir von Deinem Code geschickt hast erfordert diese Zeile überhaupt nicht, da hier die "Application.Worksheetfunction.VLookup" nicht vorkommt, die nach Deinem Post den Fehler verursacht.
Wenn Du die irgendwo hast hat der Aufruf die Form
Variable = VLOOKUP(Suchkriterium, Matrix, Zielspalte, False)
Da übergibst Du also eine Matrix. Und dort bastelst Du dir den Bereich mit
Dim LetzteZeile As Long
Dim SuchMatrix As String
Dim Ergebnis As String ' kann auch als Long, Double oder Variant deklariert sein
With ThisWorkbook.Sheets("AUSWERTUNG")
LetzteZeile = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row 'Letzte beschriebene Zelle in Spalte A
End With
SuchMatrix = "A1:A" & CStr(LetzteZeile)
Ergebnis = VLOOKUP(Suchkriterium, [SuchMatrix], 3, False) 'die Ergebnisspalte kann natürlich von 3 abweichen
aber wie gesagt: Dein Code enthält SVERWEIS überhaupt nicht, deshalb weiß ich auch nicht, wo der Fehler auftritt buw. beseitigt werden muß.
Severus
|