を使用して、ここに私の質問は、私はこのように見て、文字列の列を持っている...エクセルVBA:だからオートフィルタスマート
です:
"2,3" "1,2" "2" "3,22,1" "32,5"
ここで、私がしたいのは、 "自分自身の関数を書かずに" "(32行または22行の行をフィルタリングする必要があります)。
ので、例えば、唯一の "2" を保つことによって、上記のリストから、私が取得したいと思います: "2,3" "1,2" "2"
私は今の私は、フィルタリング: 1. "2"を含むORに "2" OR "2"を含む
残念ながら、最初の2つのフィルタで「3,22,1」が維持され、「32,5」は第2のものによって保持される。
フィルタ機能でこれを行う方法に関するアイデアはありますか? 私が言ったように、私はそれのための関数を書くことができますが、私はコードを最小限に抑え、VBAをより良く使う方法を学びます。
ありがとうございます! リッカルド
私はちょうど解決策を考えました。今すぐテストする必要があります。 ActiveSheet.Range( "A:A")。 AutoFilterフィールド:= 1、Criteria1:= Array( "2、*"、 "* 2"、 "2"、 "2、") – Riccardo
クールで、動作しない場合は、 〜lセルを使い、InStrを使用して基準に基づいてチェックしてください。私はそれを助けることができますが、その間に幸運: – IIJHFII
"*、2" "2、*"、 "2"、 "*、2、*"のそれぞれに対してオートフィルタを別々に使用すると、問題なく動作します。 このような配列を使用して結合しようとすると、 Selection.AutoFilterフィールド:= 1、Criteria1:= Array( "*、2"、 "2、*"、 "2"、 "*、2、* ") これは、配列の最後の要素にフィルタを与えているだけです。 ORでリンクされた4つの条件を適用する方法を見つける必要があります。私は原則として2つしか使えないが、回避策がなければならないことを知っている。私はArray()を使うのは1つだと思ったが、それは私のためには機能していない。 すべてのアイデア? – Riccardo