- ベストアンサー
Excell : 「データ→フィルタ→全て表示」をマクロにする。
Excellにて「データ→フィルタ→全て表示」をマクロにしました。既にフィルタがかかった状態でこのマクロを実行すると問題ありません。しかし、フィルタがかかっていない状態から実行すると「全て表示」が有効になっていないので、マクロ実行がエラーになってしまいます。 多分、以下のVBに「全て表示」が有効になっているかの判断を入れればいいかと思うのですが、その具体的なコードを教えてください。よろしくお願いします。 Sub 全て表示() ActiveSheet.ShowAllData End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData End If これでどうでしょう?? Filtermodeで確かboolean型で値を返すと記憶してますが。。。違ってたらすいません。試してください。
その他の回答 (1)
- laputart
- ベストアンサー率34% (288/843)
Sub 全て表示() On Error Resume Next ActiveSheet.ShowAllData End Sub とするとエラーが合った場合は無視して次の行へ 行く命令です。SubRoutineの最初の行で使うと便利です。但しこれではエラーがあったのかなかったのか わかりませんので、プログラム開発用でかつ 作業が停止しないようにする場合は以下のように すると便利です。 Sub 全て表示() On Error Goto Ert ActiveSheet.ShowAllData exit sub Ert: msgbox("フィルター解除でエラーが発生") End Sub
補足
回答ありがとうございます。今回はNo.1の方の方法を使わせて頂きましたが、laputartさんの内容はVBの使い方としてはたいへん参考になりました。今後このテクニックを使いたいと思います。
お礼
回答ありがとうございます。 この方法で解決することができました。すばらしい!