【Excel VBA】構文について

コメント、マルチステートメント、命名ルール、カッコ()のルール、パラメータの指定ルール

目次

コメント

コメントとは、プログラミングに直接は関係のないものでメモとして記述しておきたいときにコメントを記述します。書き方としてはシングルクォーテーション()から始め行末までがコメントとみなされます。(プログラム実行時には無視されます)

'A1セルにHelloを表示する
Range("A1").Value = "Hello world"

Range("A2").Value = 10 'A2セルに10を表示する

コードの上に記述するか、コードの後に記述するかはどちらでもコメントとして表示されるので問題ありませんが、みやすいようになるべく統一しておきましょう。また、他の人がコードをみた時にわかりやすいコメントであることを意識してコメントを残しましょう。

マルチステートメント

コロン(:)を用いて複数の行を1行にまとめることができます。

a = 10 : b = 20

a = 10
b = 20

どちらでも問題ありませんが、使用しなくても問題ないので、さらっと流しましょう。

命名ルール

VBA のプロシージャ名、変数、定数、引数などの名前には下記の規則があります。

  • 255文字以内であること。
  • 先頭は文字で始まる必要があります。
  • スペース( )、ピリオド(.)、感嘆符(!)、アットマーク(@)、アンパサンド(&)、ドル($)、ハッシュ(#)は使用できません。(アンダースコア(_)は使用できます)
  • 日本語も使用できますが、あまり使用しません。

暗黙のルールとして下記があるようです。

  • サブルーチン名、関数名などは大文字で始める。(例: MyFunction)
  • 定数はすべて大文字で単語の区切りにアンダーバー(_)を用いる。(例: MAX_SIZE)
  • 変数名は大文字で始めたり小文字で始めたり統一されていないようです。

ご自身で使用する場合は、ルールを決めておくと迷わなくて済むので先に決めておくことをお勧めします。

カッコ()のルール

関数やステートメントを呼び出す際、戻り値を使用する時はカッコをつけます。戻り値を使用しない時はカッコを省略しなくてはいけません。戻り値を参照する場合を関数、戻り値を参照しない場合をステートメントと読んだりしているようです。

ret = MsgBox("OK?", vbOKCancel)    '戻り値を使用するので括弧をつける
MsgBox "Done!", vbOKOnly           '戻り値を使用しないので括弧はつけない

よく分からないですよね。とりあえず戻り値を使用するかしないかでカッコをつけるかどうか変わるんだ〜ぐらいに思ってください。

パラメータの指定ルール

下記のような関数やステートメントがあるとします。param1 は必須で param2 と param3 は省略可能です。

MyStatement param1, [param2], [param3]

この時、param2 を省略して param3 を指定するには、パラメータの順序を守って次の様に指定します。

MyStatement "ABC", , "XYZ"

多くのステートメントや関数は 名前付き引数 をサポートしていて、サポートしている場合は次のようにパラメータ指定することもできます。

MyStatement "ABC", param3:="XYZ"

順序を守る、もしくは直接指定する!ということです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次