前記事に続き、もひとつ、VBA ネタを…


VBA では変数の宣言と初期代入を同時にできません。



Dim Row As Long = 1 ' エラー

...



これが結構不満だったりします…(Const 宣言ではできるのに!)


通常、VBA では変数宣言と代入は別の行に書くことになるのですが、次のようにコロン(:)を使うと改行しないで1行で書くことができます(マルチステートメント)。



Dim Row As Long: Row = 1

...



ただ、2行で書くところを1行にまとめているだけなので、好みの問題でしかないのですが、変数を宣言したらすぐに値を代入するというスタイルはわるくありません。(C# などは確実な代入が行われていない場合はコンパイルエラーになるみたいですね)


Delphi を使っていた頃から(C++ をはじめる前)、コンパイラが警告を発しないように変数宣言と初期代入を(可能な限り)いっしょに行うことが癖になっているので、こういう些細なことが気になったりします。