2017-01-07 15 views
0

AutoFilterを使用して除外する7つの異なる値があります。オートフィルタを使用して値を除外しているときに、エラーメッセージが表示されます

私は、次のコードを試してみましたが、それはエラーを与える:

.AutoFilter Field:=12, Criteria1:= _ 
    "<>BESTPAYMENTS", Operator:=xlAnd, Criteria2:="<>IGL", Operator:=xlAnd, Criteria3:="<>MGBILLPAY", Operator:=xlAnd, Criteria4:="<>NDPL", Operator:=xlAnd, Criteria5:="<>RBPAYMENTS", Operator:=xlAnd, Criteria6:="<>TABCAB", Operator:=xlAnd, Criteria7:="<>TDNPAY" 

誰かが助けることができますか?

+0

「フィルタを選択解除する」とは、「特定の値を除外するフィルタを作成する」という意味ですか? – YowE3K

+0

Criteria3はMGBILLPAY、Criteria4はNDPL、Criteria5はRBPAYMENTS、Criteria6はTABCAB、Criteria7はTDNPAYです。 –

+0

いいえ、私の質問はそれらの名前付きパラメータだった - 私はそれらが有効であるとは思わない - 私は、 'Criteria1'と 'Criteria2'だけがあったと思った。 – YowE3K

答えて

2

AutoFilterメソッドは2つのCriteriaをサポートします。

の複数の値を選択することは非常に容易です。、以下のような何か実行して:

.AutoFilter Field:=12, _ 
      Criteria1:=Array("first_value", _ 
          "another_value", _ 
          "something else", _ 
          "and yet another one"), _ 
      Operator:=xlFilterValues 

をしかし、それは、に多くの困難であるため、配列内の要素の間で使用されている暗黙のOrの、値を除外。

私はあなたがした後、あなたが何であるかを達成するために次のようなコードを使用する必要があると考えている。残念ながら、これはちょうど隠し、隠蔽を解除する行を、むしろ真のフィルタを適用するよりも、それはおそらくです

Dim r As Range 
For Each r In .Columns(12).Cells 
    If r.Row <> .Row Then ' to avoid processing the header row 
     Select Case r.Value 
      Case "BESTPAYMENTS", _ 
       "IGL", _ 
       "MGBILLPAY", _ 
       "NDPL", _ 
       "RBPAYMENTS", _ 
       "TABCAB", _ 
       "TDNPAY" 
       r.EntireRow.Hidden = True 
      Case Else 
       r.EntireRow.Hidden = False 
     End Select 
    End If 
Next 

最高のあなたが願っています。

関連する問題