プロが教えるわが家の防犯対策術!

以下のコードでオートフィルターの絞込を行っているのですが、後のFor文の中のVLOOKUPで絞り込んだ箇所のみで操作したいです。どんなコードを追加したらいいでしょうか。



ws.Range("A7:P" & intRowEndA).AutoFilter 2, Criteria1:="*ABC*"
ws.Range("A7:P" & intRowEndB).AutoFilter 7, Criteria1:="<>0", Operator:=xlAnd, Criteria2:="<> "

wsはワークシート
intRowEnd Aなどは表の最終行を取得しております。

A 回答 (3件)

こんにちは



intRowEndA と intRowEndB に関しては既出の通り。
実際に、何をしたいのか不明なので、質問の文章のみからの推測ですけれど・・・

>後のFor文の中のVLOOKUPで絞り込んだ箇所のみで操作したいです。
具体的な内容が不明なのでなんとも言えませんが、VLOOKUPの元になる表(=セル範囲)は連続していないと無理なようです。
なさりたい内容にもよりますが、
 ・まとめてフィルターオプションで検索する
あるいは、
 ・最初から複数条件でまとめて絞り込むような関数に切り替える
などの方法が考えられます。

あくまでも「VLOOKUP関数」に拘るのであれば、どこかに一時的に絞り込まれたデータの表を作成(=コピー)して、
 ・そちらの表を基にVLOOKUP関数を用いる
ようにすれば問題なく検索できるでしょう。

あるいは、シート関数などを用いずに、
 ・VBAでごく普通に条件をチェックしていく
のでも十分そうには思えますけれど…?
    • good
    • 0

条件に合致するものを 配列に取り込む


というほうが簡単なような・・
    • good
    • 0

intRowEndA と intRowEndB は範囲として違いがあるために2つ存在しているのでしょうか?



あと質問に対して回答するなら、

>後のFor文の中のVLOOKUPで絞り込んだ箇所のみで操作したい

この部分が不明確な気がします。
抽出した値を検索したいのか、抽出した範囲を検索範囲にしたいのかでも違うのではないかと初級者ジジィは思います。
⇒単なるボケかも知れませんけど。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A