بارك الله فيك أخي الكريم عمر وجزاك الله خيراً
CODE
Private Sub TextBox1_Change() 'هذا السطر لايقاف اهتزازات الشاشة Application.ScreenUpdating = False ' e هذا السطر للحصول حتى اخر خلية بها بيانات فى العمود lr = Range("e" & Rows.Count).End(xlUp).Row 'هذا السطر لو التكست بوكس به بيانات وغير فارغ يقوم بـ If TextBox1.Text <> "" Then 'هذين السطرين للقيام بالفلترة بما هو مكتوب فى التكست بوكس1 فى داخل العمود 2 وهو العمود ايى لاننا قمنا بتحديد الفلتر من العمود ديى حتى العمود جيى باى حرف داخل النص ActiveSheet.Range("$d$2:$g$" & lr).AutoFilter Field:=2, Criteria1:= _ "=" & "*" & TextBox1.Text & "*", Operator:=xlOr 'هذا السطر اذا لم يكن التكست بوكس فارغ يقوم بـ Else 'هذا السطر يقوم بـ الغاء الفلتر فى نفس العمود اللذى قمنا بالفلترة عليه حتى اخر خلية بها بيانات وهو العمود الثانى ActiveSheet.Range("$D$5:$g$" & lr).AutoFilter Field:=2 'هذا السطر لالغاء الفلتر من كل البيانات او ظهور كافة البيانات والغاء الفلترة 'ActiveSheet.ShowAllData End If 'هذا السطر للتشغيل اهتزازات الشاشة Application.ScreenUpdating = TrueEnd Sub