プロが教える店舗&オフィスのセキュリティ対策術

excel vbaについて質問です。

画像のようにAからGまでデータが入力されており、以下の2つでオートフィルターをしたいです。
textbox1→A列
combobox1→G列

以下では①のあと②が実行されてしまい、同時にフィルターをかけることができません。
※V1にはcomboboxのリストに値が入っています。

①With Worksheets("sheet1").Range("A2").CurrentRegion
.AutoFilter
.AutoFilter 1, Worksheets("sheet1").TextBox1.Text
End With
②With Worksheets("sheet1").Range("A2").CurrentRegion
.AutoFilter
.AutoFilter 7, Worksheets("sheet1").Range("V1").Text
Cancel = True
End With

よろしくお願いします。

「複数条件のオートフィルタ(VBA)」の質問画像

A 回答 (2件)

②With Worksheets("sheet1").Range("A2").CurrentRegion


.AutoFilter  ' ここでフィルターを解除している
.AutoFilter 7, Worksheets("sheet1").Range("V1").Text

①で行ったフィルターをチャラにしているから
> 同時にフィルターをかけることができません。
ということになっています。

問題の行を削除して下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
思い通りの結果になりました!

お礼日時:2022/12/12 10:24

こんにちは



直接の回答ではありません。

VBAのご質問ですけれど、その内容はエクセルの基本機能のフィルターオプションを利用すれば可能な内容と思います。
というか、フィルターオプションならもっと複雑な抽出もできます。
(図を見る限りでは、オプション指定のセル部分は、ご提示のままというわけにはいかないかもですが)

他との関連などで、どうしてもVBAになさりたい場合は、フィルターオプションでの操作を、マクロの記録にとって参考になさるのが宜しいかと。
    • good
    • 1

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