Dynamic Search Bar In Excel

PHOTO EMBED

Tue Aug 05 2025 11:05:26 GMT+0000 (Coordinated Universal Time)

Saved by @Aamir #vba

A1: ID       B1: Name         C1: Department
A2: 1        B2: Aamir        C2: Admin
A3: 2        B3: Priya        C3: HR
A4: 3        B4: John         C4: IT

Sub SearchFilter()
    Dim ws As Worksheet
    Dim searchValue As String
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Change sheet name if needed
    searchValue = ws.Range("E3").Value

    ' Clear any previous filter
    On Error Resume Next
    ws.Range("A1").AutoFilter Field:=1
    ws.Range("A1").AutoFilter Field:=2
    ws.Range("A1").AutoFilter Field:=3
    On Error GoTo 0

    ' Apply filter if searchValue is not blank
    If searchValue <> "" Then
        ws.Range("A1:C100").AutoFilter Field:=2, Criteria1:="*" & searchValue & "*"
    Else
        ws.Range("A1:C100").AutoFilter
    End If
End Sub

In Excel, press Alt + F11 to open the VBA Editor.
If the Project Explorer is not visible, press Ctrl + R
Find your sheet name (e.g., "DataSheet"), you might see
Sheet1 (DataSheet)

Paste the below code

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("E3")) Is Nothing Then
        Application.EnableEvents = False
        Call SearchFilter
        Application.EnableEvents = True
    End If
End Sub
content_copyCOPY