Excel VBA「変数の宣言と値の代入」実践解説
1. 変数とは?(ものの名前をつける箱)
イメージ
「変数」は、データを一時的に入れておく箱のようなものです。
たとえば「合計点」や「平均点」を計算したいとき、
それぞれを保存しておくための箱を準備します。
2. 変数を宣言する(箱を用意する)
基本構文
Dim 変数名 As 型名
VB例:
Dim score As Integer ' 整数を入れる箱
Dim name As String ' 文字列を入れる箱
Dim price As Double ' 小数を入れる箱
VBポイント
Dimは「箱を用意する」という意味。As 型名で「どんな種類の箱か」を決めます。- 型を省略すると自動的に「Variant(万能型)」になりますが、
初心者はできるだけ型を指定した方が安全です。
| 型名 | 入るデータ例 | 備考 |
|---|---|---|
| Integer | 整数(例:100) | 小さい数用 |
| Long | 大きい整数 | Integer より大きい値 |
| Double | 小数(例:3.14) | 実数用 |
| String | 文字列(例:”Hello”) | テキスト |
| Boolean | True / False | 論理値 |
3. 値を代入する(箱に中身を入れる)
基本構文
変数名 = 値
VB例:
score = 85
name = "田中"
price = 1980.5
VBこのように書くと、変数に値が「代入(保存)」されます。
4. 実際に使ってみよう(セル操作の例)
サンプルコード
以下のコードを Excel の「開発」タブ →「Visual Basic」→「標準モジュール」に貼り付けて試してください。
Sub Sample_Variable()
' 変数の宣言
Dim name As String
Dim score As Integer
Dim message As String
' 値を代入
name = "佐藤"
score = 92
' 文字列をつなげて新しい変数に代入
message = name & "さんの点数は " & score & " 点です。"
' 結果をセルに表示
Range("A1").Value = message
End Sub
VB結果(実行後)
セル A1 に
佐藤さんの点数は 92 点です。
と表示されます。
5. 型を指定しないとどうなる?
Sub NoTypeSample()
Dim x
x = 10
x = "こんにちは"
Range("A1").Value = x
End Sub
VB→ 実行すると「こんにちは」が A1 に表示されます。
このように、型を指定しないと何でも入れられます(=Variant型)。
でも、誤って「文字列+数値」を計算してしまうなどのミスが起きやすくなります。
6. Option Explicit を使う(宣言ミスを防ぐ)
コードの先頭に次の1行を書いておくと、
必ず変数を宣言してから使わないとエラーになります。
Option Explicit
VBこれを入れると、次のようなタイプミスも検出してくれます👇
Dim total As Integer
tatal = 100 ' ← total とスペルが違う!エラー!
VB7. NG例:宣言と代入を同時に書けない
次のような書き方は エラーになります。
' ❌ NG
Dim score = 100
VBVBA では、宣言(Dim)と代入は別々に書く必要があります。
' ✅ OK
Dim score As Integer
score = 100
VB8. まとめ表
| 操作 | 構文 | 例 |
|---|---|---|
| 宣言 | Dim 変数名 As 型 | Dim price As Double |
| 代入 | 変数名 = 値 | price = 1980.5 |
| 文字列結合 | & | "合計は " & price & " 円" |
| 宣言強制 | Option Explicit | ミス防止に必須! |
練習課題(初心者向け)
練習1:
「名前」「商品名」「金額」の3つを変数で管理し、
セルA1に「○○さんが××を買いました(××円)」と表示するマクロを作ってみよう。


