はじめに

VBAでコードを書いていると、1行が長くなりすぎて読みにくくなることがあります。

特に、長いIf文や複雑な関数呼び出しを記述する際に、改行の仕方によってコードの可読性が大きく変わります。ここでは、VBAでのソースコード改行の基本ルールとテクニックを紹介します。

1. 基本的なソースコードの改行方法(_の使い方)

VBAでは、アンダースコア(_)とスペースを使って、ソースコードの行を複数行に分割できます。

アンダースコアの左側には必ず半角スペースが必要です。

条件文を1行で書いた場合

条件文を複数行で書いた場合(右端に[ _]を付けて改行)

2. 文字列の改行方法(& _の使い方)

“abcccccc”のような文字列を改行する場合は、スペース + & + スペース + アンダースコア[ & _]で複数行に分割できます。

アンダースコアの前には必ず半角スペースが必要です。

1行で書いた場合

複数行で書いた場合([ & _]で改行)

3. 改行できる場所とできない場所

改行できる場所

  • 演算子(+, -, And, Or など)の後
  • 引数リストの途中
  • Then の前

改行できない場所

  • ドット(.)の直前や直後
  • 文字列の途中(”abc” _ “def” は不可。結合は & を使う必要あり)
  • With ステートメントのオブジェクト指定

NG例:

3. どのようなときにソースコードの改行を入れるとよいか

一般的に、1行は80〜120文字程度に収めることが推奨されます。

また、複数行にした場合は、2行目以降はインデントを1文字単位で入れることが出来るため、コードの見やすさが向上します。

現在ではマルチディスプレイで縦置きモニタでコードを見る方も結構おられます。

状況に合わせてソースコードの改行を行うかは検討してください。

4. よくある間違いと対処法

コードの右端にスペースを忘れるとエラーになります。

まとめ

VBAの改行は、コードの可読性を大きく向上させる重要なテクニックです。

基本ルールは以下の通りです。

  1. 行継続文字は「スペース + アンダースコア」
  2. 文字列を改行する場合は「スペース + & + アンダースコア」
  3. 1行は80〜120文字程度を目安にする。
  4. 複雑なIf文やSelect文は適切なインデントで構造を明確にする。
  5. 過度な改行は避け、可読性とのバランスを考える。

これらのポイントを押さえて、メンテナンスしやすいVBAコードを書いていきましょう。