Microsoft Access Club >AccessTips >このページ >次頁 < 前項  サイト内検索


変数の定義方法:AccessTips052



VBAを記述するには、変数を用いるのが常套手段です。しかし、VBAを始められた方には変数というものが理解しにくいと思われます。

例題

例題として、変数の使い方を下記のように 考えます。

Dim i As Integer  ' iを整数型変数と定義します。

Dim x As Byte    ' xをバイト型変数と定義します。

Dim y As Byte    ' yをバイト型変数と定義します。

x =12

y =45

i =  x + y             'この計算結果は、57となります。

これを下記のようにするとどうでしょうか?

Dim i , x , y     'データ型を省略するとVariant型となります。

x =12

y =45

i =  x + y             'この計算結果も、57となります。  

この形式であっても計算ができてしまいます。また、

Dim i

i = 12 + 45            'この計算結果も、57となります。

このようにBasicの流れを汲むVBAはかなり柔軟性があって、正しく変数を定義しなくてもプログラムは動きます。

留意事項

VBA内で 12 + 45 を記述すると、これは数値であるとコンピュータが理解してしまうのです。普通なら、12と45は数値型ですよ、と変数で前もって定義することが必要です。

変数記述時の留意点

初心者の方は、下記のような記述を行ってしまうことがあります。

Dim i , x ,y As Integer

x =1200

y =4500

i =  x + y             'この計算結果は、5700となります。

これは、一行で変数 i , x ,y を Integer型 と宣言したつもりなのですが、実は誤りです。この 記述では、最後の y のみInteger型となるだけで、i ,x はVariant型に定義されてしまいます。このVariant型は万能型で、何でも"喰っちゃう"んですよ。よって、

Dim i As Integer , x As Integer ,y As Integer

x=1200

y=4500

i =  x + y             'この計算結果は、5700となります。

が正しい記述方法です。しかも、VBAは変数を事前に宣言する必要もなく用いることができます。例えば、

x=1200                'xは変数です。

y=4500       'yは変数です。

i =  x + y             'この計算結果は、5700となります。

と記述しても、ちゃんと動くんですよ。不思議でしょう。いきなり変数が現われたのに…ね。

チェックポイント

変数とデータ型を事前に宣言せずに、いきなり変数を用いるやり方は記述のミスがあると大変なんで、必ず変数を用いる前に 宣言するようにしましょう。

プロシージャを記述する前に、下記のオプションを記述します。

Option Explicit

このOption Explicit ステートメントは、モジュール内のすべての変数に対して、明示的な宣言を強制する働きをします。

 2001/06/14

ページの先頭へ 前ページへ戻る


変数の定義方法:AccessTips052


 

-Microsoft Access Club-