|
1.変数 変数とは数値や文字列などを一時的に格納する入れ物と言えるでしょう。 変数に値を代入するには、"="(イコール)を使用します。 以下は変数の宣言と代入例です。 VBAでは変数を宣言しなくてもコードにいきなり変数を記述することが可能ですが、 宣言しない場合、例えばコード内で多用する変数名を誤って違う変数名で指定した場合 プログラムでエラーとならずに新しい変数が指定されたと自動的に認識されコードの 記述誤りを発見するのが困難になります。 |
|
2.変数のデータ型
宣言した変数にはデータ型を指定することができます。 データ型とは、変数に格納できるデータの種類をいいます。 データ型を指定しない場合、変数は自動的にバリアント型(Variant)になります。
数値を格納できる変数を作成する場合
文字列を格納できる変数を作成する場合
日付を格納できる変数を作成する場合
オブジェクトを格納する変数を作成する場合
全てのデータに対応した変数を作成する場合
真(True)・偽(False)の値を格納できる変数を作成する場合
|
|
3.算術式と計算 計算を行うには算術式を使用します。変数に値を代入するには、"="(イコール)を使用します。
以下は変数の宣言と代入例です。 |
|
4.プロシージャについて プロシージャとは、処理単位の1つでVBAではSubプロシージャとFunctionプロシージャの2種類あります。
プログラムの中で何度も同じような処理を行なう場合、一連の処理をプロシージャにまとめることで
何度も同じ処理を記述する必要がなくなり、修正も容易になります。 |
|
5.ステートメントについて Privateステートメントで宣言されたSubプロシージャとFunctionプロシージャは
プロシージャを記述したモジュール内のほかのプロシージャからのみ参照できます。
ステートメントを指定しないと自動的にPublicプロシージャとなります。 では、どうしてステートメントが必要なのでしょうか? これは目的によりプロシージャの参照を制限したり、開放したりする理由もありますが、 1番の理由は、モジュールが増えた場合、プロシージャがモジュール内だけで参照されているのか それともモジュール外からも参照されているのかを明確にする為です。 プログラムを復数人で開発をしたり、解析する場合、プログラムの規模が大きいほど ステートメントを指定することが重要となってきます。
|
|
6.変数の有効範囲 プロシージャレベルで宣言された変数は、そのプロシージャの中でのみ有効となります。 同じ変数や定数を別のプロシージャで使用したい場合はプライベートモジュールレベルで変数を宣言し、 全モジュールの全プロシージャで使用したい場合は、パブリックモジュールレベルで宣言します。 この場合、設定したい変数や定数を宣言セクションで宣言します。
|
|
7.配列
配列とは一つの変数に対して複数の異なるデータを格納する場合使用します。配列は、まず「Dim 配列名(要素番号) As データ型」で宣言します。要素番号を宣言時に指定することで、配列にいくつデータを格納するのかを決めます。要素番号は「0」から始まります。例えば「Dim a(5) As string」と宣言すると、要素数は「0」から「5」の「6つ」となります。配列にデータを代入する場合は、「Dim 配列名(要素番号)=データ」で代入できます。以下の例では配列aに対し要素番号を5、データ型をString型で宣言し、データを格納しています。 |