Excel VBA | 変数の宣言と値の代入

Excel VBA VBA
スポンサーリンク

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”)テキスト
BooleanTrue / 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 とスペルが違う!エラー!
VB

7. NG例:宣言と代入を同時に書けない

次のような書き方は エラーになります

' ❌ NG
Dim score = 100
VB

VBA では、宣言(Dim)と代入は別々に書く必要があります。

' ✅ OK
Dim score As Integer
score = 100
VB

8. まとめ表

操作構文
宣言Dim 変数名 As 型Dim price As Double
代入変数名 = 値price = 1980.5
文字列結合&"合計は " & price & " 円"
宣言強制Option Explicitミス防止に必須!

練習課題(初心者向け)

練習1:
「名前」「商品名」「金額」の3つを変数で管理し、
セルA1に「○○さんが××を買いました(××円)」と表示するマクロを作ってみよう。

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