変数
変数とは...
Dim x As Integer
Dim y As Integer
x = 1
y = x + 3
ここでは、「x」と「y」が変数です。
「x」に’1’を入れ、「y」には’x + 3'という値を入れます。
...つまり、変数とは、入れ物です。
「xには’1’が入っている」、「yには’x+3’、つまり’1+3’で’4’が入っている」
そして、1行目、2行目は「変数の宣言」です。
Dim [宣言したい変数名] As [変数の型]
1行目(Dim x As Integer)では、
「Dim」の意味は、これは変数ですと宣言するということ。
そして「Integer」は整数型。
だから、「x」は整数型の変数ですと宣言しています。
こちらは変数の型の表です。
データ型 |
必要メモリ |
範囲 |
バイト型:Byte |
1バイト |
0〜255 |
ブール型:Boolean |
2バイト |
真(True)、偽(False) |
整数型:Integer |
2バイト |
-32768〜32767 |
長整数型:Long |
4バイト |
-2137483648〜2147483647 |
単精度浮動小数点型:Single |
4バイト |
-3.402823E38〜-1.401298E-45
1.401298E-45〜1.79769313486232E308
(...小数を扱うことが出来ます) |
倍精度浮動小数点型:Double |
8バイト |
-1.79769313486232E308〜-4.94065645841247E-324
4.94065645841247E-324〜1.79769313486232E308
(...Singleよりもっと桁の多い数値を扱えます) |
通過型:Currency |
8バイト |
-922337203685477.5808〜922337203685477.5807 |
日付型:Date |
8バイト |
西暦100年1月1日〜9999年12月31日 |
オブジェクト型:Object |
4バイト |
オブジェクトを参照するデータ型 |
文字列型:String(可変長) |
10バイト+文字列の長さ |
0〜2GB |
文字列型:String(固定長) |
文字列の長さ |
1バイト〜2GB |
バリアント型:Variant(数値) |
16バイト |
倍精度浮動小数点と同じ範囲 |
バリアント型:Variant(文字列) |
22バイト+文字列の長さ |
可変長の文字列型の範囲と同じ |
そのうち使うと思いますが、今はまだ使っていないので
いまいちわからないものもありますが、
Boolean、Integer、Single、String はよく使うのではないかと思います。
2004年7月
変数 その2
プログラムで、こんなのがあります。
x = 1
x = x + 3
プログラムでは、右辺から左辺に代入する決まりになってます。
1行目の x は 1 です。
2行目の x = x + 3 ...数学ではこんな式はないですよね。
右辺から左辺に代入するので、最初の x に 3 を加えた結果が、新しい x に入ります。
よって2行目は、x = 1 + 3 ということなので、x には 4 が入ります。
実際にプログラムを作って、動かしてみましょう。
新しくExcelを開いて「study_VBA.xls」という名前で保存しました。
VBEを起動します。(わからない方はこちらを参考に:
VBE起動)
こんな画面が表示されます。
そこで、ツールバーの[挿入][標準モジュール]をクリック。
プロジェクトウィンドウに[標準モジュール][Module1]が表示されます。
そして、コードウィンドウ[study_VBA-Module1(コード)]が表示されます。
もしコードウィンドウが表示されていない時は、
[Module1]を選んでツールバーの[表示][コード]をクリック。
何もかかれていない、真っ白なコードウィンドウが表示されていると思います。
2004年7月
プログラムを作る
まず、study_VBA-Module1(コード)にこう書きます。
sub test_01 そして改行。するとこうなります。
subの”s”が”S”になり、”()”が付き、”End Sub”が表示されました。
プログラムを書くお手伝いをしてくれます。
おかげで、大文字、小文字を区別しなくても良いし、()やEnd Subを忘れない。
プログラムを作っていると突然こんな表示があらわれることがあります。
途中まで入力し、入力したいものを選んでEnterをクリック。それが、入力されます。
こんなお手伝いもあり、便利です。
このようなプログラムを作ってみました。
Sub test_01()
'変数の勉強中 − [x=x+3]って
Dim x As Integer
Dim strX As String
x = 1
x = x + 3
strX = CStr(x)
MsgBox ("x = " + strX + "です")
End Sub
人が見てわかりやすいように、段落を下げて書いています。
([Tab]キーで下げて書きます)
MsgBox ("x = " + strX + "です") で答えを表示します。
他にも2行(Dim strX As String、strX = CStr(x))追加されてますが、気にしない...
答えを表示させるためにある部分です。
2004年7月
プログラムを実行
プログラムが出来たので実行します。
カーソールをSub test_01() 〜 End Sub の間のどこかに置き
ツールバーの[sub/ユーザーフォームの実行]をクリック。
すると、答えが表示されます。([OK]をクリックで終わります)
下のものが実行されると、x = 4 となることがわかります。
x = 1
x = x + 3
もし答えが表示されない時は、どこか間違っています、再チェックを。
2004年7月