Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Excel 2021)
テーブル化された範囲のオートフィルターがマクロ実行後にすべて表示状態に戻らない
投稿日時: 24/04/07 09:48:08
投稿者: un-pon
メールを送信

前回半平太さんに助けていただき解決できました。
 
https://www.moug.net/faq/viewtopic.php?t=82722
 
それからシートのリストをテーブル化して、vbaを実行させると最初はすべて表示されている
リストがオートフィルタがかかったままになってしまうようになりました。
 
.AutoFilterMode = False
と書いてあり戻るようにしてくれていますが、テーブル化すると機能がバッティングするのでしょうか。

回答
投稿日時: 24/04/07 12:42:54
投稿者: simple

テーブルにあるのは、フィルターボタンというもので、通常のオートフィルタとは別系統です。
その表示をさせないようにするには、
テーブルスタイルのオプションにある フィルターボタンのオプションをオフにします。
マクロ記録を取ると、

Sub Macro1()
    ActiveSheet.ListObjects("テーブル1").ShowAutoFilterDropDown = False
End Sub
どうしても消したいといことなら、
あなたの環境に合わせて(テーブル名等を修正して)使ってください。

回答
投稿日時: 24/04/07 12:46:57
投稿者: Suzu

テーブル化対象に対しフィルター抽出適応と、フィルター抽出解除 を
マクロの自動記録機能にて、コードを記録し、
現状のコードと、テーブル化 した場合の コードについて差異を見てみましょう。

回答
投稿日時: 24/04/07 18:26:31
投稿者: simple

ああ、間違っていました、そういう話ではなかったですね。失礼しました。

回答
投稿日時: 24/04/09 10:29:44
投稿者: WinArrow

他の回答者からもコメントがありますが、
オートフィルタの使い方は、
リストをテーブル化すると、使用するコマンドが異なります。
    
1.オートフィルタの解除
 ⇒リスト項目名セルに表示されている▼を非表示にする機能
 テーブル化しないリスト:.Range(XX).AutoFilterMode = False
 テーブル化したリスト :.Range.ShowAutoFilter = False
    
2.オートフィルタを解除せずに、▼を表示する機能
 ⇒選択リストの最初の(全てを選択)にチェックが入った状態になります。
 テーブル化しないリスト:.Range(XX).AutoFilter
 テーブル化したリスト :.Range.AutoFilter
    
※どちらを使用するかは、運用次第です。

トピックに返信