Categories: excel

初心者向けVBA講座:変数の使い方をわかりやすく解説

VBA(Visual Basic for Applications)は、ExcelなどのOffice製品を自動化できる強力なプログラミング言語です。
その中でも「変数」は、データを一時的に保存して操作するための基本的かつ重要な仕組みです。
この記事では、VBAで変数を使う方法について、まったくの初心者でも理解できるように丁寧に解説していきます。
変数の宣言方法、データ型、代入と活用のコツなど、実例を交えてわかりやすく紹介しますので、VBAの基本をしっかり身につけたい方におすすめです。


VBAにおける変数とは?

変数とは、プログラム中で一時的に値を保存しておくための「名前付きの箱」のようなものです。
たとえば、ユーザーが入力した数値を覚えておいたり、計算結果を保存したりするために使います。

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

上のコードでは、文字列を入れる変数 message を宣言し、「こんにちは!」という文字を代入しています。
このように、変数は処理の中で値を保持し、それをあとで使うために利用されます。


変数の宣言方法

VBAでは、変数を使う前に宣言するのが基本です。
宣言には Dim キーワードを使います。

Dim 変数名 As データ型

たとえば:

Dim count As Integer
Dim name As String
Dim price As Double

それぞれ、数値・文字列・小数を扱うための変数です。


よく使われるデータ型

VBAで使えるデータ型はいろいろありますが、ここでは代表的なものを紹介します。

データ型説明
Integer整数(-32,768〜32,767)Dim age As Integer
Longより大きな整数Dim population As Long
Double小数を含む数値Dim rate As Double
String文字列Dim name As String
Boolean真(True)か偽(False)Dim isChecked As Boolean
Variant何でも入る万能型Dim value As Variant

注意: Variant は便利ですが、型が不明確になるため、初心者のうちは基本型を明示的に使うのがおすすめです。


変数への値の代入

変数に値を入れるには、= を使います。これは「等しい」ではなく「代入」を意味します。

Dim score As Integer
score = 90

また、以下のように変数を計算に使うこともできます。

Dim total As Integer
Dim price As Integer
Dim quantity As Integer

price = 500
quantity = 3
total = price * quantity

MsgBox "合計金額は " & total & " 円です。"

このように、計算や条件分岐に活用するためにも変数は欠かせません。


変数のスコープ(有効範囲)

変数には使える範囲(スコープ)があります。代表的な種類は以下の3つです。

1. ローカル変数

プロシージャ(SubやFunction)の中で宣言された変数。
そのプロシージャ内だけで使えます。

Sub Sample()
Dim x As Integer
x = 5
MsgBox x
End Sub

2. モジュールレベル変数

プロシージャの外に宣言された変数。
そのモジュール内のすべてのプロシージャで使えます。

Dim moduleName As String

Sub SetName()
moduleName = "営業部"
End Sub

Sub ShowName()
MsgBox moduleName
End Sub

3. グローバル変数

すべてのモジュールで使える変数。Public を使って宣言します。

Public companyName As String

スコープの使い分けができるようになると、より実践的なコードが書けるようになります。


変数名のルールとコツ

変数名をつけるときは、以下のようなルールがあります。

  • 英数字とアンダースコア(_)が使える
  • 数字で始めてはいけない
  • 予約語(If, Then, Subなど)は使えない

良い変数名の例:

Dim userAge As Integer
Dim totalAmount As Double
Dim isLoggedIn As Boolean

名前を見るだけで、何のための変数かがわかるようにしましょう。


型を明示する「Option Explicit」

VBAではコードの先頭に Option Explicit を書くことが推奨されています。

Option Explicit

これを記述すると、すべての変数を宣言しなければエラーになります。
タイポ(タイプミス)によるバグを防ぐのに非常に効果的です。


実践例:簡単な売上計算マクロ

最後に、変数を使った簡単なマクロを紹介します。

Sub CalcSales()
Dim unitPrice As Double
Dim quantity As Integer
Dim total As Double

unitPrice = 1200
quantity = 5
total = unitPrice * quantity

MsgBox "売上合計は " & total & " 円です。"
End Sub

このように、値の保管・計算・表示などに変数は欠かせない存在です。


まとめ

VBAでプログラムを書く上で、変数の理解は避けて通れません。
変数の使い方を正しく学ぶことで、より柔軟でエラーの少ないコードを書くことができます。

今回の記事で解説したポイントをおさらいすると…

  • 変数は「名前をつけたデータの入れ物」
  • Dim で宣言し、適切なデータ型を使う
  • 値の代入は = を使う
  • スコープによって使える範囲が異なる
  • Option Explicit で安全性を高める

最初は覚えることが多く感じるかもしれませんが、少しずつ慣れていきましょう。
次回は「条件分岐(If文)」について解説する予定です。お楽しみに!

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。