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

「縮小して表全体を表示する」 のマクロを使って、表の選択から一気に処理したい

 

Range.CurrentRegion プロパティを使えば、アクティブセル領域となっている表全体をマクロで選択できます

表内のいずれかのセルが選択されている状態で、Ctrl+Aキーを押すと、表全体をアクティブセル領域として選択できます。

ただし、このショートカットキー操作をマクロ記録しても、アクティブセル領域を選択する処理はマクロ化されません。アクティブセル領域として選択されたセル範囲が、セル番地で記録されてしまうので、汎用のマクロにはなりません。

アクティブセル領域を選択する処理を含む汎用的なマクロにする場合には、Range.CurrentRegion プロパティを、該当箇所に記述します。「縮小して表全体を表示する」のマクロの場合には、表示倍率を変える処理の直前に、Range.CurrentRegion プロパティによる次のような一文を記述することになります。

ActiveCell.CurrentRegion.Select

 

なお、個人用マクロブックに保存されているマクロを編集する場合には、「PERSONAL」ブックを再表示する必要があります。

 

 

Excel 2010/2007の場合

Excel 2003/2002の場合

@「表示」タブの「ウィンドウの再表示」ボタンをクリックします

@「ウィンドウ」メニューの「再表示」を選びます

A個人用マクロブックである「PERSONAL」を選んで、「OK」ボタンをクリックします

B「表示」タブの「マクロ」ボタンから「マクロの表示」を選びます

B「ツール」メニューから「マクロ」→「マクロ」を選びます

C編集するマクロを選んで、「編集」ボタンをクリックします

Dマクロの内容が、Microsoft Visual Basicで表示されます

E選択中のセル範囲に合わせて表示倍率を調整する、「ActiveWindow.zoom = True」の行の直前で改行して空行を作り、「activecell.cu」と入力します

大文字と小文字の区別は必要ありません。半角であれば、あとから自動的に調整されます。

「activecell.cu」まで入力すると、該当するプロパティなどが一覧表示されます。そこから↓キーで「CurrentRegion」を選び、Tabキーで入力します。

F続けて、「.se」と入力します

「.se」まで入力すると、該当するプロパティなどが一覧表示されます。「Select」が選択されている状態で、Tabキーでそれを入力します。

G↓キーを押して、入力した構文のチェックを行います

↓キーを押すと、カーソルが次の行に移動します。このとき構文のチェックが行われ、スペルミスなどがあれば指摘されます。正しく入力されていれば、構文内の語句の大文字や小文字などの表記が自動調整されます。

この作例の場合、先頭の「activecell」が「ActiveCell」のように変わるかどうかだけを確認します。「ActiveCell」と変わらないときには、スペルミスが考えられます。

正しく「ActiveCell.CurrentRegion.Select」の一文を追加できたら、Microsoft Visual Basicを閉じます。

H「表示」タブの「ウィンドウを表示しない」ボタンで、「PERSONAL」ブックを非表示に戻します

H「ウィンドウ」メニューの「表示しない」ボタンで、「PERSONAL」ブックを非表示に戻します

 

関連する他のページ

マクロ有効ファイルって何?
マクロを含むブックは、マクロ有効ファイル(マクロ有効ブック)として保存しなければ、マクロが失われてしまいます

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

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

オートシェイプの枠線の表示の有無を、マクロで切り替えたい
Shape.LineのVisibleプロパティの設定を変えることで、枠線を表示したり非表示にしたりすることができます

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

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

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

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

マクロ実行時に表示されるダイアログボックスを無視したい
Application.DisplayAlerts プロパティをFalseにすると、マクロの実行中に警告やメッセージが表示されなくなります

オートフィルタで抽出したデータを、用紙1枚で印刷したい
[次のページ数に合わせて印刷]を使えば、指定した枚数でデータの印刷を行えます