変数について

変数はデータを一時的に保管する箱のようなものです。

中学校1年生の数学(代入)で次のようなものがありました。
  x = 5
  10 + x = 15
変数とはこの x のようなものです。

変数の使い方

これを実行すると以下のようになります。

この解説内容を解説します。

Dim KisyuName As String
変数を宣言しています。

記述方法

Dim 変数名 as 

Dimは「Dimステートメント」と呼びます
変数名は、英数字・漢字・ひらがな・_(アンダーバー)が使用できます
先頭の文字に数字は使用できません

変数 KisyuName を String(ストリング) で宣言しています。
String は文字列を扱う変数の型です。

KisyuName = “海物語”
変数 KisyuName に 海物語 をセット(代入)しています。

MsgBox “機種名は” & KisyuName & “です”
メッセージボックスを表示させています。
結果は「機種名は海物語です」となります。

主な変数の型には以下のものがあります。

これらを全て暗記する必要はありません。

  • 機種名は String
  • 店舗名は String
  • 日付は Date
  • アウトは Long
  • 売上は Long
  • 貸料金は Single
  • 交換数は Single

などと取り扱うデータにより変数の型がパターン化されますので何度か繰り返せば自然と覚えます。

上の一覧で濃いピンク色は私がよく使う変数です。薄いピンクはたまに使う変数です。
使う変数は、10個程度です。

VBAでは変数を使用する時 宣言しなくてもコードを書くことは可能です。
ただ、変数を宣言しない場合ミスが発生しやすく誤った計算結果になる事があります。
変数の宣言は必ず行って下さい。
このホームページでの解説では変数の宣言は行っています。

変数の宣言を強制する設定手順を別の章で説明しています(マクロ(VBA)を始める前の準備)

 

先ほどのコードを修正して KisyuName を Long(ロング)に変更してみます。
Longは数値用の型です。

実行すると以下のエラーが表示されます。

このエラーは、数値用のボックスに ”海物語” という文字列を入れようとしたためにエラーになりました。

この変数の型は初心者にとって一つのハードルです。慣れるまで少々時間がかかります。これが変数を宣言しない人の理由にもなっています。
変数の型は 文字や数値、日付など適切な型を選択した方が良いのですが、もし型が分からない場合は、万能変数 Variant(バリアント)を使用して下さい。
Variantは数値でも文字でも日付でもオブジェクトでも使用することができます。

ただし、全ての変数でVariantだけを使うことはお薦めしません。
それはマクロのコードを後から修正や追加を行う場合、何を行っているのかが分かりにくくなるためです。
過去に作成したマクロや前任者が作成したマクロの修正を行う場合、まずコードを解読することから始まります。
「あ~ ここで先月の海物語の売上額を取得して当月の売上額とで前月比を算出して、このセルに入れている」などと解読する時に 変数の型 も解読する材料になります。これが全てVariantの場合 解読が難しくなります。
最初はVariantを使うことは問題ありませんが、徐々に必要に応じた型を使用できるようになりましょう。