Automatisch Suchen VBA
10.12.2024 19:56:58
Stefan
Vielleicht könnt Ihr mir Helfen,
auf meinem Tabellenblatt befindet sich eine Intelligente Tabelle, in Zeile 6 ist die Überschrift.
in Zelle C4 möchte ich nach den Inhalten der Tabelle Suchen, z.B. ich Trage den Buchstaben H ein soll sich die Tabelle Live verkürzen,
das funktioniert aktuell nur wenn ich Zelle C4 verlasse.
Der VBA Code lautet:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Dim searchRange As Range
Dim cell As Range
Dim searchTerm As String
Dim firstRow As Long
Dim lastRow As Long
Dim found As Boolean
Dim c As Range
Set ws = ThisWorkbook.Sheets("Lebensmittel")
firstRow = 7
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
Set searchRange = ws.Range("A" & firstRow & ":H" & lastRow)
' Überprüfen, ob die Änderung in C4 oder im Suchbereich erfolgt ist
If Not Intersect(Target, ws.Range("C4")) Is Nothing Or Not Intersect(Target, searchRange) Is Nothing Then
Application.EnableEvents = False
searchTerm = Trim(ws.Range("C4").Value) ' Suchbegriff aus C4
' Alle Zeilen zunächst ausblenden
searchRange.EntireRow.Hidden = True
' Durchsuche den Suchbereich
For Each cell In searchRange.Rows
found = False
For Each c In cell.Cells
If InStr(1, c.Value, searchTerm, vbTextCompare) > 0 Then
found = True
Exit For
End If
Next c
' Wenn der Suchbegriff gefunden wurde, die Zeile einblenden
If found Then
cell.EntireRow.Hidden = False
End If
Next cell
Application.EnableEvents = True
End If
End Sub
Was muss ich ändern ? oder ist in Excel noch eine Einstellung nötig.
Vielen Dank
Gruß
Stefan
Anzeige