ホーム > プログラミング入門 > Lesson2: 変数

変数
変数 変数
変数とは...
 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 変数 その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」という名前で保存しました。
study_VBA.xls
VBEを起動します。(わからない方はこちらを参考に:VBE起動
こんな画面が表示されます。
そこで、ツールバーの[挿入][標準モジュール]をクリック。
VBE起動
プロジェクトウィンドウに[標準モジュール][Module1]が表示されます。
そして、コードウィンドウ[study_VBA-Module1(コード)]が表示されます。
もしコードウィンドウが表示されていない時は、
[Module1]を選んでツールバーの[表示][コード]をクリック。
何もかかれていない、真っ白なコードウィンドウが表示されていると思います。

2004年7月
プログラムを作る プログラムを作る
まず、study_VBA-Module1(コード)にこう書きます。
sub test_01 そして改行。するとこうなります。
study_VBA-Module1(コード)
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月