أخى الفاضل عمرو
ما رأيك فى هذه الفكرة
وهى مستوحاه من أعمال المبدع الكبير الأستاذ / عبد الله باقشير
Sub اصناف()
On Error Resume Next
Dim XX As Shape
Set XX = ActiveSheet.Shapes("الاصناف")
With XX.TextFrame.Characters
If .Text = "اصناف لا تساوى صفر" Then
ragab1
.Text = "كل الاصناف"
Else
ragab2
.Text = "اصناف لا تساوى صفر"
End If
End With
On Error GoTo 0
End Sub
Sub ragab1()
Range("A5:B35").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("H1:H2"), Unique:=False
End Sub
Sub ragab2()
ActiveSheet.ShowAllData
End Sub
ماكرو.rar