Servus!
Ich habe ein Suchfeld in meiner Excelliste mittels einer textbox realisiert - bei eingabe wird die Eingabe in einem vordefinierten Bereich durchsucht und alle nicht übereinstimmenden Zeilen werden ausgeblendet.
Soweit so gut jedoch ist mir aufgefallen wenn ich die Arbeitsmappe speichere und etwas in die Textbox schreibe wird nichts gefunden, versucht man es nochmal funktioniert es. Also das passiert nur nach dem speichern - kann mir jemand sagen warum? hier der code:
Private Sub TextBox2_Change()
Dim x As Long
Dim SuchErgebnis As Range
Dim SuchWert As Variant
Dim FirstAddress
Set KBereich = Range("A4:O1000")
Application.ScreenUpdating = False
SuchWert = TextBox2
With ActiveSheet
KBereich.EntireRow.Hidden = False
Set SuchErgebnis = KBereich.Find(SuchWert, LookIn:=xlValues, LookAt:=xlPart)
If Not SuchErgebnis Is Nothing Then
FirstAddress = SuchErgebnis.Address
Do
SuchErgebnis.EntireRow.Hidden = True
Set SuchErgebnis = KBereich.FindNext(SuchErgebnis)
Loop While Not SuchErgebnis Is Nothing
End If
For x = KBereich.Row To KBereich.SpecialCells(xlCellTypeLastCell).Row
.Rows(x).EntireRow.Hidden = Not .Rows(x).EntireRow.Hidden
Next x
End With
If SuchWert = "" Then
With ActiveSheet
KBereich.EntireRow.Hidden = False
End With
End If
Application.Goto Reference:=ActiveSheet.Range("A1"), Scroll:=True
Application.ScreenUpdating = True
End Sub
Besten Dnak schonmal im Voraus!
|