2016-05-29 6 views
1

私はExcel 2010でリストを自動フィルタリングするためにvbaを使用していますが、3つ以上の "開始"基準(すなわち "a * "、" b * "、" c * ")。残念ながら、私が言うことができる限り、Operator:= xlOrを使用して2つの「開始」基準を持つことができます。Excel VBAオートフィルタ - "begin with"の複数の条件

VBA Autofilter (Text Filters) With Multiple Criteria of "begin with"の回答がうまくいくようです。ただし、リスト内のすべての項目をループして値を配列に追加すると、それらの項目との完全一致を自動フィルタリングするのは面倒です。特に非常に大きなリストがある。

2つ以上の「開始」基準を自動フィルタする良い方法はありますか?

+0

[高度なフィルタ]でこれを行うことはできません(https://support.office.com/en-ie/article/Filter -by-using-advanced-criteria-4c9222fe-8529-4cd7-a898-3f16abdff32b#bmconcepts)? – vacip

答えて

0

注:受け入れ答えが、OPは、以前

は、我々は次のようにデータを持っていると言う質問で述べたゲーリーの答え使用している:

enter image description here

、我々はどちらかで始まる項目を見たいのA,Dまたはmである。

このマクロを実行する:

Sub ThreeWay() 
    Dim rng As Range, r As Range 
    Set rng = Range("A2:A25") 

    For Each r In rng 
     v = Left(r.Value, 1) 
     If v = "A" Or v = "D" Or v = "M" Then 
      r.EntireRow.Hidden = False 
     Else 
      r.EntireRow.Hidden = True 
     End If 
    Next r 
End Sub 

が生成されます: enter image description here

注:

  • この "フィルタ・バイ・ハンド" というより真でありますオートフィルタ
  • オートフィルターが必要な場合は、私の古いポストのメソッドを使用してください
+0

これは良いです、ありがとう!しかし、マクロを実行した後にデータを操作してソートし、フィルタリングを続ける必要があるため、オートフィルタを使用する必要があります。 – Nate

+0

@ NateBergeron私が考えることができる唯一の他の選択肢は、ワークシート内の*ヘルパー*列を使用して、マクロでその列を操作させることです。 –

+0

OK、私はちょうどあなたが他の質問で持っている方法を使用すると思います。私は前の答えを使用していることを述べるために、この質問を答えとしてマークします。 – Nate

関連する問題