Hi nilem,

Thanks a lot. Your code working fine. for me, it is quite tough to understand this part. if possible, can you explain to me?

For Each v In sCriteria
            Set r = .Find(What:=v)
            If Not r Is Nothing Then
                adr = r.Address
                Do
                    If InStr(f, "~" & r.Value & "~") = 0 Then f = f & r.Value & "~"
                    Set r = .FindNext(r)
                Loop While r.Address <> adr
            End If
        Next v





GIS2013 ,
Your code has error while running on .AutoFilterMode = False