エクセル実践塾 > エクセル実践塾2013

値が0になった行だけを、自動的に非表示にしたい

 

WorksheetオブジェクトのActivateプロシージャを使って、表のあるシートが表示されたときに、フィルターによる絞り込みが自動的に再適用されるようにします

フィルターを使うと、値が0の行を非表示にすることができます。

その再適用をマクロ記録し、それをWorksheetオブジェクトのActivateプロシージャにコピーすれば、そのシートが表示されるたびにフィルターの再適用が行われるようになります。

Excel 2013/2010/2007

 

@「表示」タブの「マクロ」→「マクロの記録」を実行します

 

A「OK」をクリックします

マクロ名は適当なものに変えるか、表示されているマクロ名を覚えておきます。

ここで記録するマクロは、コードの作成のみに使うので、適当な名前のマクロで問題ありません。

B「データ」タブの「再適用」をクリックします

フィルターにはあらかじめ適当な条件を設定しておきます。ここで記録するのは、再適用の実行処理だけです。

C「表示」タブの「マクロ」→「記録終了」をクリックします

D「マクロ」→「マクロの表示」をクリックします

E記録したマクロを一覧から選び、「編集」をクリックします

F表示されたマクロから、フィルターの再適用を行う記述をコピーします

G自動処理する表のあるシートをダブルクリックします

H開かれたウィンドウで、「Worksheet」と「Activate」を選択します

その記述のためのコードが追加されるので、その中に「フィルターの再適用」コードを貼り付けます。

Iシートを表示したときに、フィルターの再適用を自動的に行うマクロができあがります

Jこの自動実行マクロは「フィルターの再適用」を行うだけのものなので、そのための条件の指定などはあらかじめ行っておく必要があります

値が0の行を非表示にするためのフィルター条件の指定方法は、前号を参照してください。

 

関連する他のページ

「縮小して表全体を表示する」 のマクロを、クイックアクセスツールバーから実行したい
クイックアクセスツールバーにマクロを登録すれば、マウスからでも、キーボードからでも、簡単に実行できるようになります

オートシェイプの枠線の表示と非表示を、一つのマクロで切り替えたい
If〜Then〜Elseの構文を使えば、オートシェイプの状態に応じて、表示と非表示を一つのマクロで切り替えられます

マクロを右クリックで実行したい
Worksheet_BeforeRightClickイベントのプロシージャにマクロを記述すると、指定シートを右クリックしたときにそのマクロが実行されます

2つのフォルダへの保存マクロを、汎用的なものにしたい
ファイル名の部分を、編集中のブックの名前を表すActiveWorkbook.Nameにすると、編集中のブックならどれでもマルチ保存が可能になります

ブックを閉じるときに、マクロを自動的に実行したい
そのブックのWorkbook.BeforeClose イベントに、マクロを実行するコードを記述します

どのブックからでも利用できるマクロを作りたい
「個人用マクロブック」に登録すれば、どのブックからでもそのマクロを実行できるようになります

マクロのコードを、見た目にわかりやすく、簡潔に記述したい
With ステートメントを使えば、作業の対象となるオブジェクトの記述が1回で済みます

ピボットテーブルを使って、曜日でデータを分析したい
WEEKDAY関数の結果をピボットテーブルでページフィルタにすれば、曜日でデータを分析できます

ピボットテーブルの項目の並びを、元表と同じにしたい
元表の項目の並びを、ユーザー設定リストに登録しておけば、そのとおりに並び替えることができます