関連記事リファクタリングとはVBAマクロをユーザーが実行した際の動作は変更せずに、開発者が理解や修正をしやすくする為に、ソースコードの内部構造を整理することです。わかりやすくいうと「機能はそのままでコードを、よりわかりやすい形に書き換えること」です。VBAはExcelやAccessなどで利用できるプログラミング言語の為、お手軽にプログラムを実行する事が出来ます。これは、間口を広げてVBAを触れる人を増えると、開発者にしかわからないプログラムが多いのも事実です。以下のようなお問い合わせ頂くケースも多いです。前任のマクロ開発者が退職し、今までは使えていたが急に使えなくなった。自作したマクロで運用しており、仕様変更したいがどのように修正したら良いかわからない。クラウドソーシングでお願いした方と連絡が取れなくなり、システムの拡張ができない。リファクタリングのメリットコード内容を理解しやすくする自分だけが理解できるコードになっていて他人が見た時に可読性がない。自分が書いたコードなのに1年後に見直した時に意図が読み取れない。等よく聞くパターンです。VBAマクロはお手軽にスタート出来るため、上記のような経験がある製作者は多いはずです。リファクタリングを行うことで、自分も含めた将来の開発者の助けになります。不具合(バグ)を発見するデバッグのデバッグをする形になりコードを再度読むことで、自分自身の理解が進みます。その際、潜在バグを発見したり、コードをまとめることでコードの正確性も上がります。拡張性を広げる時代が移り変わると、システムは陳腐化していきます。業務であれば事業の拡張等、当初想定していなかった動きを求められるケースがあります。拡張性の高いコードを書くことで今後のメンテナンスも容易です。リファクタリングの方法VBAを書いているだけの初級者は絶対に「リファクタリング」という言葉は知りません。※プログラマにとっては当たり前ではあります。VBAの専門書籍では、ほとんど「リファクタリング」は出てきません。小さなシステムでとりあえず動けばいいという形であればする必要がないからです。これは門戸の広さ故のVBAマクロだからこそかもしれません。初級者だからこそリファクタリング作業を行い、メンテナンスしやすいコードを作成すべきです。メインの処理とサブの処理は細かく分ける初級者がよくありがちなのがメインのモジュール一つだけでとてつもなく長いコードが書いてあるケース。見にくいし修正しづらいので、モジュールは分けましょう。(パーツ化しましょう)同じ処理はモジュール化する上述と同様ですが、一つのモジュールで書いてあると同じ処理が複数個所に出てくる場合があります。この場合、一つ修正したくても全てのコードを見直す必要性が出てきます。エクセルのシートとVBAの処理内容は混在しない変数内で計算処理を持たせればいいものの、エクセルのシートに書き出す方がおられます。マクロの処理が遅くなりますし、意味がないので変数内で処理するべきです。変数名は日本語ではなく、ローマ字にする日本語だと都度IMEの切替をしないといけません。検索したい時にコメントにも変数にも引っかかる形になると手間なだけです。シートや列や行を参照する場合は定数化しておくエクセルなのである程度ユーザーが自由に触れます。自由に触れることでマクロがうまく動かなくなるケースがあります。事前に定数化することによって被害を最小限に食い止められます。非エンジニアの事務職や経理職こそ、マクロを覚えるべき事務職や経理職の方は、月に一度、定型業務があります。社会人になった時にずいぶん楽になると思います。雑記3の倍数と3のつく数字でアホになる【世界のナベアツ】【ExcelVBA】この前神戸を歩いていたら、桂三度の落語会のチラシが掲示板に貼られていました。最近、Officeのバージョンアップに伴い、セキュリティ強化が行われました。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイトΔパソコンのスリープ機能(自動休止機能)をオフに設定するExcelマクロとは?VBAとは?ホーム雑記サイト紹介ExcelVBAマクロを外注にて代行開発致します。