マクロをプログラムしたことがある場合は、Dimキーワードを使用して変数を定義する方法に精通している可能性があります。たとえば、MyVarという名前の整数変数を次のように定義できます。

Dim MyVar As Integer

これは非常に簡単で、コードで正常に機能します。ただし、1行に複数の変数を定義したくなるかもしれません:

Dim x, y, z As Integer

BASIC言語の一部のバージョンでは、これにより3つの変数が定義され、それぞれが整数として初期化されます。 VBAでも正しく実行されているように見え、エラーは生成されません。ただし、小さな問題があります。実際には、最後の変数(z)のみが整数として定義されています。

次のコードを使用すると、これがどのように機能するかを確認できます。

Sub DimTest()

Dim x, y, z As Integer     MsgBox "x is type " & VarType(x)

MsgBox "y is type " & VarType(y)

MsgBox "z is type " & VarType(z)

End Sub

マクロを実行すると、ポップアップする最初の2つのメッセージボックスに、xとyの変数タイプが0であることが示されます。これは、初期化されていないことを意味します。

最後のメッセージボックス(zの場合)のみが、整数を意味する2の変数タイプを示しています。

解決策は、変数を1行に1つずつ宣言するか、次のように各変数に完全な構文を使用することです。

Dim x As Integer, y As Integer, z As Integer

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(731)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ: