
エクセルのテーブルデータがあります。
マクロを作成しながらテーブルの値をフィルタリングしたりしています。
マクロの試行錯誤を繰り返しているうちに、フィルターが解除出来なくなります。
画像のようにグレーになっていて押せません。
画面更新等をtrueにしてもグレーのままです。
Application.ScreenUpdating = True
Application.EnableEvents = True
試しに
If ActiveSheet.AutoFilterMode = True Then
MsgBox "設定されています"
Else
MsgBox "設定されていません"
End If
これを実行してみると、フィルターの三角ボタンはあるのに、設定されていませんと出てきます。
おかげで、動いていたオートフィルターやスライサーのマクロが動きません。
フィルターがないとエラーでます。
直す方法は、別ブックに値のみ貼り付けそこでテーブルを作成し既存のブックに戻してあげる。
これにより、フィルターが復活します。
原因は何なのでしょうか?
直す方法があるのでしょうか?

No.3ベストアンサー
- 回答日時:
#1です。
原因は、分かりませんが、#1で示したように
If ActiveSheet.ListObjects(1).ShowAutoFilter = True Then
MsgBox "設定されています"
Else
MsgBox "設定されていません"
End If
こちらを試してみてください。
インデックス1どうかは、解りませんが
テーブルのフィルタがある場合、Trueが返されます。
解除の場合も、.ListObjects(1).ShowAutoFilter で
返信、ありがとうございます。
試したところ、フィルターの三角ボタンは存在しているのに
設定されていません、と出ます。
マクロで解除も出来ない、なので新規ブックにコピーしテーブルを作り直すことしか解決はないのでしょうか。
テーブルを参照している関数が沢山ある場合はとても大変です。
今までもマクロを一行ずつ動かしたり原因を探し続けてきたのですが解決には至らず・・・。あきらめます!
これからは常にテーブルを二つ作り対応していきます。
ご親切にありがとうございました。
No.1
- 回答日時:
こんにちは、
あてずぽな回答ではありますが、
フィルタは、テーブル外にかけていますか?テーブルにですか?
解除は同様にテーブルですか外ですか?
解除はマクロで行っているのかな?
.AutoFilterMode = False ?
.ListObjects(1).ShowAutoFilter = False ?
見当違い、頓珍漢だったら忘れてね
お返事ありがとうございます。
データをテーブルに変換したときに自動で付くフィルターです。
テーブルの値を集計するために、マクロで何度も絞り込んだり解除したりしています。
そして気がつくといつの間にか図のようにグレーになっています。
もちろんテーブル外をセル選択しているとフィルター操作は出来ません。
通常だとツールバーのホームタブ→並び替えとフィルター→フィルターと押すとフィルターが付いたり消えたりします。
画像のように、それさえ出来なくなります。
最終的にマクロを使ってフィルターを取り除こうとしてもフィルターが無いと判断されます。絞り込んで結果を返そうと思ってもフィルターが無いと判断されます。マクロで無いと判断されても手動では絞り込んだり出来ます。
フィルターボタンを押せなくても、マクロで無いと判断されなければ、完璧に動いています。
No2の方が言うロジックミスも考えられますが、ツールバーから解除出来ない、マクロでもフィルターを取ることが出来ない、
しかし、マクロは機能していて絞り込み結果が返ってきています。
使用している打ちに突然、エラーが出てきてフィルターが無いと判断されます。
どのタイミングでそうなるのかは不明です。
さっきまで動いていたマクロが突然動かなくなりフィルターが無いとエラーが出ます。そうしてテーブルを見るとフィルターが解除出来なくなっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
最新日のデータのみ抽出するク...
-
ACCESS初心者 - 同一テーブルの...
-
2つのテーブルに共通するレコ...
-
クエリで同一テーブルの複数回...
-
Accessのテーブルで、リンク?...
-
Accessでリストの並び順を変更...
-
Accessのリンクされたテーブル...
-
アクセス・デザインビューのレ...
-
ACCESSユニオンクエリから新テ...
-
クエリで編集できるようにした...
-
差込印刷での全角表示について...
-
SQL文で パラメータが少なすぎ...
-
ファイルメーカーのCase関数で
-
Excleピボットでデータのない部...
-
アクセスのクエリー作成
-
VBA 別シートの同じ日付の欄に...
-
Access テーブルを分割してエク...
-
エクセルデータをワードで差し...
-
年度ごとの最大値
-
EXCEL→ACCESSインポートでセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
Accessのテーブルで、リンク?...
-
テーブルに表示されているもの...
-
Accessのリンクされたテーブル...
-
最新日のデータのみ抽出するク...
-
ACCESSユニオンクエリから新テ...
-
access vbaにてテンポラリーテ...
-
Acccessで2つのテーブルから1...
-
Accessでリストの並び順を変更...
-
アクセス2016 チェックボックス...
-
ACCESS テーブルを見比...
-
ACCESS テーブルを見比...
-
ACCESSでテーブルをコピーしよ...
-
AccessでのリンクテーブルとADO...
-
クエリで同一テーブルの複数回...
-
アクセス 部分一致の抽出
-
accessのテーブルを閉じたとき...
-
access2000・・テーブルをデー...
-
MDBファイルを比較するツール(...
-
ACCESSでABC判定をしたい
おすすめ情報