HOME > VBA広場 > Excel VBA ビギナーズ > 第19回 マクロ実行時の余計な画面を消す 3/4

第19回 マクロ実行時の余計な画面を消す 3/4

第19回 マクロ実行時の余計な画面を消す| 1/4  2/4  3/4  4/4 

VBエディタを起動

VBエディタを起動し、マクロを修正します。

  1. [ツール]メニューの[マクロ]から[マクロ]を選択し、[マクロ]ダイアログボックスを表示する。
    ▼ 図03-01 [マクロ]ダイアログボックスの表示
    図03-01 [マクロ]ダイアログボックスの表示

    【Excel2007の場合】

    Excel2007ではメニューバーではなく、リボンを使用します。[開発]タブが表示されている場合には、[マクロ]ボタンをクリックすると表示できます。

    ▼ 図03-02 Excel2007での[マクロ]ダイアログボックスの表示
    図03-02 Excel2007での[マクロ]ダイアログボックスの表示
  2. [マクロ名]ボックスから編集したいマクロ[トップ5抽出]を選択する。
  3. [編集]ボタンをクリックし、VBエディタを起動する。
    ▼ 図03-03 [マクロ]ダイアログボックス
    図図03-03 [マクロ]ダイアログボックス

VBエディタが起動しました。マクロ記録で作成されたVBAのコードが表示されます。

▼ 図03-04 Visual Basic Editor
図03-04 Visual Basic Editor

※ Excel2007では、AとDの「Selection.」が「ActiveSheet.Range("$A$3:$I$130").」となります。

A オートフィルタの設定をしています。
B 表全体を範囲選択しています。
C 選択した範囲をコピー/貼り付けしています。
D オートフィルタの設定を基に戻しています。

マクロを編集する

このままマクロを実行すると、シートの切り替えや表のコピーなどの裏の操作が見えてしまいます。
ApplicationオブジェクトのScreenUpdatingプロパティを使用して、裏の操作が見えないようにしましょう。
必要な部分のみを残して、ソースコードをすっきりさせましょう。

  1. コードの先頭に「Application.ScreenUpdating = False」を追加する。
  2. コードの最終行に「Application.ScreenUpdating = True」を追加する。
    ▼ 図03-05 コードを編集
    図03-05 コードを編集

ScreenUpdatingプロパティは「False」に設定すると、マクロ実行中の画面表示を非表示にします。
「True」に設定すると、マクロ実行中の画面表示を行うようになります。
マクロ実行中の画面表示を非表示にすると、マクロ実行中の操作が見えなくなるという視覚的効果だけでなく、実際の処理スピードも上がります。

これでマクロの修正が終了しました。
Excelの画面に戻り、マクロを実行するボタンを作成しましょう。

第19回 マクロ実行時の余計な画面を消す| 1/4  2/4  3/4  4/4