変数について(変数、定数)
変数宣言
変数とは、数値や文字列など(すなわちデータ)を一時的に格納する入れ物をイメージしてください。また変わる数と書いて変数なので、文字通り変更することが可能です。どのプログラミング言語にも出てくるものなのでしっかり覚えましょう。
Dim(ディム)
書き方:Dim 変数名 As データ型
Sub 練習()
Dim fluit As String
fluit = "アップル"
MsgBox fluit
fluit = "バナナ"
MsgBox fluit
End Sub
実行すると、メッセージボックスにて、「アップル」が表示され、その後に「バナナ」が表示されます。ここでは変数に文字列を指定したため、「アップル」「バナナ」が格納されています。
プログラムは基本的に上から順に実行されます。そのため、最初はfluitにアップルを格納しメッセージで表示し、その後fluitにバナナを再度格納したため、2回目のメッセージボックスではバナナが表示されました。
型を省略すると自動で Variant 型になります。
変数名の規則
- 半角、全角の数字と文字を使用可能です
- 変数名の長さは、半角で255文字以内(全角なら127文字以内)です
- 記号はアンダーバーのみ使用可能(ピリオドやスペースは使用できない)
- 1文字目は、数字、_アンダーバー、記号を使用することができない
- VBAが意味を持たせている語句(予約語)は使用できない
- 大文字、小文字の区別がない
などなど規則はありますが、基本的にわかりやすい変数名をつけましょう。(フルーツならfluit、MsgBoxならmsgなど想像がつく命名をしましょう)
定数宣言
定数とは、数値や文字列の代わりに使用される意味を持たせた名前のことです。変数と違い、定まった数と書くので変更ができない格納箱のイメージです。
Const(コンスト)
書き方:Const 定数名 [As データ型] = "定数の値"
Sub 練習()
Const fluit As String = "アップル"
MsgBox fluit
fluit = "バナナ"
MsgBox fluit
End Sub
実行するとエラーになります。変数と異なり値を書き換えることはできないため、fluit = “バナナ” MsgBox fluitの2行を消して実行すると、アップルが表示されます。
※定数名の命名規則ですが、基本的に変数と同様です。ただし変数と定数で区別のつくよう命名することは意識しましょう。(例:変数名はaaa_bbb、定数名はaaabbb など)
データ型
データ型とは、変数や定数に値を格納する際に、このデータは「数字ですよ」「文字ですよ」「○×ですよ」と教えるものです。データ型を指定しなくても問題ないものもありますが、プログラミングにおいてデータ型を宣言することは習慣付けておきましょう。
データ型の例
データ型 | 名称 | 格納できる範囲 |
---|---|---|
Integer | 整数型 | -32,768 ~ 32,767 |
Long | 長整数型 | -2,147,483,648 ~ 2,147,483,647 |
LongLong | 64ビット符号付き数値 | -9223372036854775808 ~ 9223372036854775807 ※64ビットプラットフォームのみで有効な宣言型 |
Single | 単精度浮動小数点数型 | -3.402823E38 ~ -1.401298E-45(負の値) 1.401298E-45 ~ 3.402823E38(正の値) |
Double | 倍精度浮動小数点数型 | -1.79769313486232E308 ~ -4.94065645841247E-324(負の値) 4.94065645841247E-324 ~ 1.79769313486232E308(正の値) |
Currency | 通貨型 | -922,337,203,685,477.5808 ~ 922,337,203,685,477.00 |
String | 文字列型 | 最大約20億文字まで |
Date | 日付型 | 西暦100 年1月1日~西暦9999年12月31日までの日付と時刻 |
Byte | バイト型 | 0~255の範囲の単精度の正の数値。8 ビット(1 バイト) |
Boolean | ブール型 | 真 (True) または偽 (False) |
Object | オブジェクト型 | オブジェクト |
Variant | バリアント型 | すべてのデータ |
これ以外にもありますが、その都度調べて使用しましょう。(調べる力が大事です)
変数と定数の使い分け
変数の方が使い勝手が良いため変数を使用していれば良いじゃんと思うかもしれませんが、意識して慣れるようにしましょう。
一例ですが、「フルーツ」にはたくさんの果物名を格納します。その場合変数の方が適切です。逆に「税金」には×10%の値しか格納しません。この場合、定数の方が適切でしょう。ここで税金が変わったら変更しなきゃいけないから定数じゃないじゃんと思った方もいるかもしれません。が定数で宣言していれば、1行×10%の部分を修正するだけで済みます。変数で宣言していたら管理をするのが大変になってしまいます。よって使い分けを意識しましょう。
コメント