2017-11-14 15 views
0

以下のコードで高度なフィルタを適用した後、どのフィルタを適用してフィルタリングされたデータに一意の値を表示することができますか?どんな助けにも大いに感謝します複数の条件を持つ高度なフィルタ

Sub difficultQ() 

    Dim x 
    Dim Y 

    x = "Match" 

    Y = "Match1" 

    Range("A1").Value = x 

    Range("A2").Value = Y 

    Range("M4").Select 

    Range(Selection, Selection.End(xlDown)).Select 

    Selection.AdvancedFilter Action:=xlFilterInPlace, criteriarange:=Range("A1:A2") 

    ' In here I would like to have code that filtered col E 
    ' on unique values, without getting rid of the advanced filter above 

End Sub 

答えて

1

高度なフィルタを2つ適用することはできません。フィルタ条件を修正して、次のような式を使用する必要があります。

Sub difficultQ() 

    Dim x 
    Dim Y 
    Dim lastRow As Long 

    Y = "Match1" 

    Range("A1").Value = vbNullString 

    Range("A2").Formula = "=AND(M5=""" & Y & """,COUNTIFS($E$5:$E5,E5,M$5:M5,""" & Y & """)=1)" 
    lastRow = Cells(Rows.Count, "M").End(xlUp).Row 
    Range("E4:M" & lastRow).AdvancedFilter Action:=xlFilterInPlace, criteriarange:=Range("A1:A2") 

End Sub 
+0

ありがとうございました!これは問題を完全に解決します。 – Gandalfrandalf