Hi,
try and this approach, using Advanced Filter.
In cell C1 is drop down menu, data is in column A
from Column CA and to the right side, are helper columns (Criteria Range)
take a look this sample ...http://youtu.be/Gnidh30_DBw
XXXXXXXXXXXXXXXXXXXXXXXX
and the code..
Sub Adv_Filter()
On Error Resume Next
Const DataC = "A" '<<< data in column A, change
'Note! column BZ (before first helper column), is always emptyConst HelpC As String = "CA" '<<< helper columns from column CA and to the rightCells(1, HelpC).CurrentRegion.ClearContents
Dim x As Long, t As Long
Dim v As Variant
v = Split(Range("C1"), ",") '<<< in cell C1 is drop down menu listt = Cells(1, HelpC).Column
Cells(1, HelpC).Resize(, UBound(v) + 1) = Cells(1, DataC)
For x = 0 To UBound(v)
Cells(2 + x, t).Value = WorksheetFunction.Trim(v(x))
Cells(2 + x, t).Value = CStr("*" & Cells(2 + x, t).Value & "*")
t = t + 1
Next
Dim r As Long
r = Cells(Rows.Count, DataC).End(xlUp).Row
Range(DataC & "1:" & DataC & r).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Cells(1, HelpC).CurrentRegion, Unique:=False
MsgBox "next.."
Range(DataC & "1:" & DataC & r).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= Range("A1")
End Sub
(make a copy, before you run the code)
Note
if you want to see Criteria range
in the sample above,
set as first helper column, E column.
(try my sample, in a new workbook)