ACCESS VBAでコメントアウト(注釈)を記載する方法

VBAでコメントアウト(注釈)を記載する方法

VBAのコードを作成して、しばらく運用してから直そうとしたとき、「あれ?これってどういう意図で書いたんだっけ」と自分でもわからなくなることはないでしょうか。

そんな時は、コードに開設を書いておくと便利です。
条件分岐やループなど、VBAのコードだけではわかりにくい部分を日本語で補足しておくことで、コードの可読性が高まります。

今回は、VBAでコメントアウト(注釈)を記載する方法を、どのような場合にコメントを残した方が良いかも含めて記載します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは基本機能だけでも十分便利ですが、VBAを使うことで格段に使いやすいデータベースを作成可能です。
この記事ではACCESSでのVBAの使い方をご紹介していきます。

コメントアウトとは

コメントアウトとは、VBAのプロシージャ上に備忘録のようなコメントを記載しておくことです。
例えば、下のプロシージャでは太字斜体になっている部分がコメントアウトです。

コメントアウトした部分は、VBAの処理には影響を与えませんので自由に記載することが可能です。

コメントアウトをせずにプログラムだけを記述していると、どういった意図で作成した処理だったか分からなくなることがあります。
そうした事態を避け、後からプロシージャを見返した際に、処理内容が分かりやすくする目的でコメントを記載します。

コメントアウトの方法

VBAでのコメントアウトの記述方法は簡単です。
文章の最初に「’」(シングルクオーテーション)を付けるだけです。

先ほどの画像でも、コメントアウトされた部分はすべて「’」から始まっていることが確認できます。

コメントを記載した方がよい場合

コメントアウト自体は非常に簡単です。
ここからは、ACCESSの実務も踏まえて、どのような場合にコメントを残した方がよいかを記載します。

他人が作成したVBAのコードを修正した場合

まず、最初は他人が作成したVBAのコードを修正した場合です。

VBAを複数人で開発するということは少ないかもしれませんが、開発者が不在で別の人がコードを修正するというケースは多いでしょう。
そういった場合に、修正履歴としてコメントアウトしておくと、万一不具合があった際にどこを修正したか分かって便利です。

コメントには修正日なども入れておく方がよいでしょう。
下記の例のようなイメージです。

また、既存のプログラムを削除する場合も、文章自体を削除するのではなくコメントアウトして動作しないようにしておく方が修正履歴が残り、分かりやすい場合があります。

条件分岐の際に、分岐ルートを明示する

If文による条件分岐は非常によく使われると思います。
その際、条件分岐のルートをコメントアウトしておくとわかりやすくなります。

下記のように、条件分岐する際に条件を、分岐先に処理内容をまとめておくとよいでしょう。

特に分岐が複雑になるケースでは、自分で見返しても理解するのに時間がかかる場合がありますので、分岐条件を丁寧に記載することをお勧めします。

変数の説明

変数を定義する際に、何に利用している変数かをコメントアウトしておくのも便利です。
特に、パブリック変数は複数箇所で使用されますので、定義箇所に利用目的を書いておくと理解しやすくなります。

プロシージャの説明

同様に、プロシージャも大まかに何のためのプロシージャなのかを書いておくことをお勧めします。
プロシージャが別の場所からCallされている際に、該当のプロシージャをすべて読まなくても、何をしているかが簡単に把握できるためです。

私は、下記のようにプロシージャ定義の直下に書いています。

このように様々なシーンでコメントアウトは使えますが、コードの可読性を高めることは自分自身や自分以外にACCESSを修正する方に有用ですので活用ください。

以上、VBAでコメントアウトを記載する方法でした。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。