STUDY387

エクセルで仕事をもっと簡単にしよう

マクロに記録した、一部の不要な操作を削除するには

time 2015/09/15

マクロに記録した、一部の不要な操作を削除するには
※ エクセル2013で説明しています。

マクロの記録の最中に操作ミスをした場合、その操作はマクロに記録されます。
ミスの量が多いならば再度記録したほうがよいかもしれませんが、ほんの少しならマクロの編集でその部分を削除しましょう。

たとえば、前回説明した「Sheet2と5と7の印刷」のマクロにも不要な文が一部含まれていました。

Sub シート2と5と7の印刷()
' シート2と5と7の印刷 Macro

    Sheets(Array("Sheet2", "Sheet5", "Sheet7")).Select
    Sheets("Sheet2").Activate
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Sheets("Sheet1").Select
End Sub

どこか分かりますか?

答えはSheets("Sheet2").Activateです。
シート2・5・7を印刷するためにシート2をアクティブする必要はないのですが、たまたま操作の過程でシート2をアクティブにしたので記録されてしまいました。
このままでも特に不都合がありませんが、文をできるだけ簡素化したほうがマクロの動きが軽くなります。

不要な文を削除するには、リボンの〔開発〕タブにある〔マクロ〕ボタンをクリックします。
excel-macro-vba-01

マクロ名「シート2と5と7の印刷」を選択し、〔編集〕ボタンをクリックします。
excel-macro-vba-02

モジュールが開きます。
excel-macro-vba-03

念のためバックアップとしてマクロの全文をテキストエディタ(メモ帳やワードパッドなど)にコピペして保存しましょう。

カーソルを移動し「Sheets("Sheet2").Activate」を削除します。
excel-mcro-vba-edit-01

〔上書き保存〕ボタンでモジュールを保存します。
excel-mcro-vba-edit-02

〔表示〕ボタンをクリックしてエクセルに戻ります。
excel-mcro-vba-edit-03

これで終了です。
試しに修正したマクロを実行してみてください。
削除した文が多ければ多いほど、マクロに要する時間が短くなっているはずです。

もし削除する文を間違えてマクロの動作がおかしいようであれば、バックアップしたマクロの全文を貼り付けて再度チャレンジしてみてください。

お役に立ちましたか?ご活用下さい♪

sponsored link



sponsored link

sponsored link

何はともあれOFFICEのことならマイクロソフト。意外とキャンペーンやっています。

コピー用紙あったかな?トナーもあったかな?事務用品はアクスルへGO!