Excel

Excelマクロ(VBA)・凝ったExcelで迷惑にならないために

2021-01-08

エクセルのマクロは同じ作業をする場合便利ですが、自分以外の人も使う場合は迷惑になることがあります。

マクロ以外にも、あまり使われていない関数の多用や、装飾に凝っているエクセル表でも困ることはよくあることです。

仕事でエクセルマクロが必要なとき

私が職場でマクロ(VBA)を使う理由は、同じ作業を何度も繰り返す必要があり、コードを考えた方が早い場合です。モジュールは自分の管理しているエクセルファイルに保存し、サーバー上の個人フォルダに保存しています。仕事を辞めるときは、基本的に作成したものは削除しています。

コードを実行する場合

自動化したいファイルとコードを入力しているエクセルファイルを開いています。

エクセルの転記・VBA

実行するときは、Alt + F8 キーより実行しています。

使わないコードは、「sub」の前に「private」を入れておき、「Alt + F8」で表示されないようにするなどの方法があります。

[ Alt ]  + [ F8 ] でマクロの実行

マクロを実行するファイル以外にコードを入力している場合の方法例です。

(1)[ Alt ]  + [ F8 ] キーを押します。

(2)マクロ名より対象のコードを選択し、「実行」をクリックします。

エクセルVBAの実行

マクロの共有は基本的にしない

仕事で作ったコードは他の人と共有していません。仕事を辞めるとき、どうしても残す必要がある場合は、注意事項や私のVBAについての考えを伝えています。

自分が想定していた以外の操作をする可能性がある

共有する場合は、いろんな問題が出てきます。例えば、

  • エラー処理等しなくてはならない
  • 操作説明が必要になり、早く処理することが目的なのに、時間がかかってしまう。

自分だけが使う場合は、シンプルなコードですみます。他の人が使うことになると、自分が想像していなかった操作をすることがあったりして、結果的にエクセルの基本機能で作業した方が早い。

残されたコードの修正等は困ることになる可能性がかなり高い

  • 部署異動したり、退職した場合に残されたコードは修正が大変。
  • エラーが起きた時、困る。
  • 時間が経てば、作った当時と状況が変わっていいて、使えないものになっていることもある。

他人が作成したものでエラーが起こり、みてくれと言われると困ります。自分で作成した場合でも、時間が経つとどんな処理か把握しずらいこともあるのに、他人の作成したものとなるともっと難しいです。

これはVBAだけでなく、あらゆる装飾や関数を多用したエクセルも同じです。

システム導入した方が良いこともある

マクロ等を使う理由は、作業が早く終わることや間違えないことのはず。それなのに、エクセルで凝ったものを作ることが楽しくなる人もいて、目的が曖昧になってしまっていることもあるのでは!?と思ったりすることがあります。

目的は業務効率化のはず。

残された個人で作成したものは、メンテや管理に時間がかかります。まだ作成者がいる場合でも、共有すればメンテする必要が出てきます。

それならば、システム導入した方がよくないか!?

と思うことが多々あります。導入費用や導入後の保守費用はかかっても、結果的に費用が安く済むこともあるのではないでしょうか。

-Excel
-

© 2021 オフィスのQ&A