事務職のためのExcelVBA入門講座 > ExcelVBAの基礎知識 > 実際にマクロを作りはじめる前に

ExcelVBAの基礎知識

実際にマクロを作りはじめる前に

マクロの対象ブックとマクロ本体はわける



たとえば、ブックからデータを集計するマクロだったら、
集計対象のブックとマクロを書くブックはわけた方が無難です。

データが入力されているブックというのは、間違えてデータいじってしまっても
復元できるように、バックアップを取ることがあります。

マクロをデータのあるブックに直接書いてしまうと、
データのバックアップをとったとき、当然マクロも一緒にバックアップされます。

マクロを修正して問題がないことを確認したあと、
手動操作でミスをしてファイルをバックアップから復元した場合、
マクロが意図せず修正前に戻ってしまいます。

特に、会社で複数人数で使っているファイルだと、いつ誰が復元するか予測がつきません。

いつのまにか修正したところが元に戻っている、というのは
様々なエラーの原因になります。

ですので、データのあるブックとマクロ本体はわけた方がいいのです。

そこで重要になるのが、ブックやシートの指定の仕方です。
他のブックやシートを指定する方法はマクロ記録では得られないうえに
使用頻度が高いので、しっかりと覚える必要があります。

また、ブックやシートをマクロで指定すればアクティブではないブックも操作できます。
いちいちSelectメソッドでアクティブにする必要がなくなるので、
マクロの大幅な高速化にも役にたちます。


マクロはなるべく標準モジュールに書く


マクロは、標準モジュールのほかにもWorkbookオブジェクトやWorksheetオブジェクト内にも書くことができます。
ただし、特別なことがない限り、標準モジュールに書くのがおすすめです。

標準モジュールは、当たり前ですがマクロがないブックには存在しません。
標準モジュールに書けば、プロジェクトエクスプローラでモジュールが何個あるかすぐわかります。
WorkbookオブジェクトやWorksheetオブジェクトはマクロがあろうがなかろうが存在するオブジェクトのため、これらに書いてしまうとマクロが見つけにくくなります。

また、Worksheetオブジェクトに書いてしまうと、シートをコピーしたときにマクロも一緒にコピーされます。
前述の「マクロの対象ブックとマクロ本体はわける」とも共通しますが、
意図せずにマクロのコピーが量産されると、どれが正しい最新版かがわからなくなり、
エラーの原因になります。

<<クラスとは | 事務職のためのExcelVBA入門講座トップへ | VBA用語集>>

この記事へのコメント

コメントを書く

お名前
メールアドレス
URL
コメント
[必須入力]
認証コード
[必須入力]


※画像の中の文字を半角で入力してください。

トラックバック

この記事へのトラックバックURL

この記事へのトラックバック


Powered by Seesaa
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。