エクセルマクロVBA プログラム基礎データその1
プログラムを記述する際に使用するデータは、文字列型や数値型など、様々な形があり、扱い方が異なります。
プログラムで使用するデータについて説明いたします。
「エクセルマクロVBA プログラム基礎データその1」
1.データ型
プログラムで使用するデータの種類をデータ型といいます。
VBAで使用できるデータ型は次のとおりです。
データ型 | 名称 | 格納できる範囲 |
Integer | 整数型 | -32,768 ~ 32,767 |
Long | 長整数型 | -2,147,483,648 ~ 2,147,483,647 |
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 | バリアント型 | すべてのデータ |
2.変数
変数は、文字や数値などのデータを格納したり取り出したりすることができます。
変数には名前をつけて、データ型をきめます。
(1)変数の宣言
変数はあらかじめ、「宣言」といって、名前とデータ型を指定することができます。
VBAでは、宣言しなくても変数を使用することができますが、宣言することで、メモリの節約、エラー検出の利点があります。
宣言せずに変数を使用すると、変数は自動的にバイアント型のメモリ領域が確保され、例えば整数なら2バイトで済むところ、必要以上に多くのメモリ領域をとることになり、作業速度が遅くなる可能性が高まります。
また、あらかじめ変数にデータ型を設定することで、異なるデータ型のデータが代入されるため、エラーで検出されてプログラムミスを防ぎます。
変数の宣言は、Dimステートメント、Privateステートメント、Publicステートメントを使用します。
①Dimステートメント
変数の宣言とメモリ領域の確保を行います。
Dim varname1 as type [,varname2 As Type,・・・]
②Privateステートメント
変数の宣言とメモリ領域の確保を行います。
このステートメントで宣言した変数は、ブック内の全プロシージャで有効です。
Private varname1 as type [,varname2 As Type,・・・]
(2)変数の名前
変数につける名前の制約は以下のとおりです。
①使用できる文字は英数字、漢字、ひらがな、アンダースコア
②スペースや記号は使用できない
③変数の先頭の文字は英字、漢字、ひらがな、カタカナのみ。数字、アンダースコアは使用できない
④同一の適用範囲内で同じ変数名を複数使用することはできない
⑤長さは半角で255文字以内
⑥関数やステートメント、メソッド、オブジェクト、プロパティなどVBAで定義されているキーワードは使用できない。
(3)変数の適用範囲
変数は、宣言した場所によって利用できる適用範囲や期間が決まっています。
変数の適用範囲はをまとめると以下のようになります。
ステートメント | 変数の種類 | 宣言する場所 | 適用範囲 | 有効期間 |
Dim | プロシージャレベル変数 | プロシージャ内 | 各プロシージャ内 | プロシージャ実行中 |
Dim/Private | モジュールレベル変数 | 宣言セクション | 同一モジュール内の全プロシージャ | モジュール実行中 |
Public | パブリック変数 | 宣言セクション | ブック内の全プロシージャ | ブックが閉じられるまで |
その2へつづく