【VBAプログラム入門講座】3-2.変数とデータ型をマスターしよう

プログラム超入門

プログラムを書く上で「変数」と「データ型」の理解は欠かせません。変数を使うことで、データを一時的に保存し、再利用や演算ができるようになります。 この記事では、変数の定義方法やデータ型、四則演算や文字列操作、スコープ(有効範囲)などを体系的に解説します。

変数はプログラムを書く上で必ず使います。
基本中の基本なのでしっかりとマスターしましょう。
と言っても全然難しいものではありません。

1. 変数とは?

VBAにおける変数とは、値を一時的に保存できる「入れ物」です。
例えば、「商品の価格を1000円にする」といった処理を行う場合、変数に値を代入すると便利です。

Dim price As Integer
price = 1000

変数の特徴

変数は以下の特徴があります。

  • 任意の値を格納する事ができる
  • 計算結果を格納する事ができる
  • 変数を用いて計算をすることができる(数値や文字列を処理できる)
  • 後から値を変更できる

2. 変数の定義とデータ型

VBAでは変数を使用する前に宣言するのが基本です。 また、VBAでは Option Explicit を使用することで、未宣言の変数を使用した際にエラーを発生させることができます。これにより、スペルミスや意図しない変数の使用を防ぐことができます。

Option Explicit の使用方法

Option Explicit をモジュールの先頭に記述することで、すべての変数を明示的に宣言することを強制できます。

Option Explicit

Dim total As Integer
total = 100
tatal = total + 50  ' ← 変数名ミス!エラー発生

このように、誤った変数名を使用するとエラーとなるため、コードの品質を向上させることができます
変数を宣言する際には、Dim キーワードを使用し、データ型を指定します。

データ型一覧

データ型 説明 宣言方法
Integer 整数(-32,768 ~ 32,767) Dim num As Integer
Long 大きな整数(2,147,483,647 まで) Dim bigNum As Long
Double 小数(3.14 など) Dim pi As Double
String 文字列(”Hello” など) Dim text As String
Boolean 真偽値(True / False) Dim flag As Boolean
Variant どんな型でもOK(非推奨) Dim anything As Variant

3. 変数の代入と値の上書き

変数には、値を代入(= を使用) すると、その値を保持できます。

値の代入

Dim message As String
message = "こんにちは"
MsgBox message

代入すると値が上書きされる

Dim count As Integer
count = 10
MsgBox count  ' 10を表示

count = 20  ' 10 → 20に上書き
MsgBox count  ' 20を表示

4. 変数を使った四則演算

変数を使えば、計算を簡単に処理できます。

A = A + B のような式の動作

Dim A As Integer, B As Integer
A = 5
B = 3
A = A + B  ' 5 + 3 = 8
MsgBox A  ' 8と表示

その他の演算

演算 記述方法
足し算 A + B
引き算 A - B
掛け算 A * B
割り算 A / B

演算の順番(優先順位)とカッコの使い方

VBAでは、通常の数学と同じように演算の優先順位があります。

順位 演算子 内容
1位 () カッコ内の計算を優先
2位 ^ べき乗(累乗)
3位 -(単項演算) 負の値を表す(例: -5
4位 * / \ 掛け算、割り算、整数の割り算
5位 Mod 剰余(あまり)
6位 + - 足し算、引き算

カッコを使った例

Dim result As Double
result = (10 + 5) * 2
MsgBox result  ' 結果は 30

5. 変数の命名規則

変数名は AB など単純な名前でも動作しますが、意味のある名前を付けることで、コードの可読性が向上します。

良い変数名のポイント

  • 意味のある単語を使う(totalPrice, customerName など)

  • キャメルケースを推奨(totalPrice, userName)

  • スペースや予約語は使わない

  • プロジェクト内で統一する

悪い例(意味が不明)

Dim A As Integer
Dim B As String

良い例(意味が明確)

Dim salesAmount As Integer
Dim salesCategory As String

主な命名規則

規則
キャメルケース totalPrice
スネークケース total_price
ハンガリアン記法(古い) intTotalPrice
 

コメント

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