VBAで変数を使おう

基礎から始めるVBA VBA

今回は、プログラミングで非常に重要な役割をはたす「変数」について学んでいきましょう。

変数とは

変数とは、プログラム上に用意された「ラベル付きの箱」のような存在です。この箱の中には、いろいろな物を入れることができます(変数に何かを入れることを「代入」といいます)。

タナイ
タナイ

例えば、変数には数字や文字列を代入することができます。数字を代入した変数は数字の代わりに、文字列を代入した変数は文字列の代わりにその後のプログラムで利用することができます。

変数の作り方

変数は「変数宣言」をすることで自由に作ることができます。

変数宣言

変数宣言は次のような形をしています。

Dim 変数名 As 変数に入れたいデータの型(種類)

変数名

変数名は箱についたラベルのようなものです。変数名は英数字、漢字、ひらがな、カタカナを使って好きなようにつけることができます。

タナイ
タナイ

ただし、VBAの関数名やメソッド名などは使えません。また、空白や記号を使うことはできません。ただし、アンダーバー(_)だけは例外的に使用できます。

あまり複雑なものや凝った名前を付けると、あとで変数を参照する際に分かりにくくなります。あとでVBAを別の人間が修正する可能性も踏まえ、シンプルで誰にでもわかりやすい変数名をつける習慣にすることが望ましいです。

データの型

よく使われるデータの型には、以下のようなものがあります。

データ型変数に代入したい値
Double小数
Long整数
BooleanTrueもしくはFalse(真偽判定などに使う)
String文字列
Variantなんでも入る

データ型を省略して変数宣言をすることも不可能ではありません。データ型を書かないと、すべての変数は「Variant型」になります。

タナイ
タナイ

なんでも代入できるVariant型は一見便利にみえます。しかし実際にはプログラム側で自動でどの型かを判定しています。あくまでコンピュータが勝手に型を推定するため、予想しない型として代入され、エラーを起こす可能性があります。

変数の例

では、ここで変数の例を見てみましょう。

タナイ
タナイ

以下のプログラムはDeclareVariableプロシージャ―の中に書いていくことにします。

まずは変数宣言をします。

Dim i As Long

これでiというLong型の変数を作ることができました。

次に、このiに5という値を代入してみます。

i = 5

プログラミングで「=」は代入を表します。上のプログラムではiの中に5を格納したという意味になります。

タナイ
タナイ

これまでの人生で見てきた算数の「=」は忘れてください。

プログラミングにおける「=」は左辺と右辺が等しいという意味ではなく左辺に右辺を代入するという意味です

では、次にiの値を更新してみましょう。

先ほど5を代入したので、いまiの値は5です。ここへ、さらに100を加えるという操作を式に直すと以下のようになります。

i = i + 100

変数の中身は別の値を代入することで新しく更新されます。上の式は「中身が5のiに100を足し、もう一度iに代入した」という意味になります。

では、一番新しいiの中身をSheet1のA1セルに表示してみましょう。

Worksheets(1).Range("A1").Value = i

105と表示されたら成功です。

コメント

タイトルとURLをコピーしました