VBAテクニック集 VBA一覧 変数・知識 文法・構文

【VBA】Dimとは?変数宣言の基本と書き方をわかりやすく解説|初心者でも実務で使える知識を解説

Excel VBAを学び始めると、最初に必ず登場するキーワードが Dim(ディム) です。
しかし、VBA初心者がつまずきやすい部分でもあり、「そもそもDimって何?」「どう書けば正しいの?」「As String って必要なの?」と疑問に感じる方も非常に多いです。

VBAは“変数”という考え方が非常に重要で、変数の宣言方法を理解していないと、
実務で動かすマクロが急にエラーになったり、意図しない値になったりと、原因不明の問題を引き起こしやすくなります。

この記事では VBAの最重要基礎である「Dim」の仕組みと正しい書き方 を、初心者にもわかりやすく丁寧に解説していきます。
また、変数宣言がなぜ必要なのか、どのデータ型を選ぶべきか、実務でよくあるパターンと落とし穴、そしてRPAツールとの連携にも役立つ知識まで、幅広くカバーしています。

「VBAの基礎をしっかり固めたい」「ChatGPTで作ったコードを正しく理解したい」
そんな方にとって、本記事は必ず役立つ内容になっています。

目次

✅ VBAのDimとは?変数を宣言するためのキーワード

・Dimとは「変数を宣言するための命令」

VBAで変数を使う際は、最初に必ず Dim を使って宣言します。

Dim は “Dimension(次元)” の略で、「領域を確保する」という意味があります。

例:

Dim msg As String

ここでは “msg という名前のString型変数を使います” という宣言をしています。


・変数宣言とは?なぜ必要なのか

変数を宣言する理由は主に3つあります。

  1. 値を入れる箱を作るため(メモリ確保)
  2. データ型を明確にすることでエラーを防ぐため
  3. コードの可読性を上げるため

特に「データ型を明確にする」ことはすべてのエラー対策につながります。

実務では売上データ処理や、ファイル操作、日付操作を行う場面が多いため、
正確なデータ型を扱えることは極めて重要です。


・Dim を使わないとどうなる?

a = 10
b = 20
c = a + b

このように宣言を省略できることもありますが、
すべて Variant型 という“何者にもなれる変数”として扱われます。

Variant型の問題点:

  • 計算が遅い
  • メモリを多く使う
  • 不正な値が入っても気づきにくい
  • 文字列+数値などの混在を引き起こす

このように、実務コードでは必ず Dim を使った変数宣言 が推奨されます。


✅ Dimの基本構文とデータ型の書き方|初心者が最初に覚える形

・もっとも基本的な構文

Dim 変数名 As データ型

代表的な例:

Dim i As Long
Dim name As String
Dim flg As Boolean
Dim d As Date

・複数の変数をまとめて宣言する方法

Dim i As Long, j As Long, total As Double

ただし、大量に並べると可読性が下がるため、

Dim i As Long
Dim j As Long
Dim total As Double

のように分行する方が実務では好まれます。


・As 型 を付けないとどうなる?(重要)

Dim x  ' ← Variant型になる

As 型を付けない場合、VBAは自動的に Variant型 として扱います。

これは 処理速度が低下+型エラーが発生しやすくなる ため、
実務では好まれません。


✅ よく使うデータ型一覧|最初に覚えるべき基本型

・String(文字列)

Dim title As String

・Long(整数:実務では最も使う)

Dim count As Long

VBAでは Integer より Long を推奨します。


・Boolean(True/False)

Dim flg As Boolean

IF文の条件判断でよく使います。


・Double(小数)

Dim price As Double

・Date(日付)

Dim dt As Date

日付型は非常に便利で、
日付計算(+1日/−1日)も簡単にできる のが特徴です。

参考:【VBA】日付を判定する方法:IsDate・VarType・DateValue・CDate


✅ Option Explicitで変数宣言を強制する|初心者が最初に設定すべき

・Option Explicitとは?

コードの最初に以下を書くことで、変数を必ず宣言させる仕組みになります。

Option Explicit

これを設定すると:

  • 変数のスペルミスを防止
  • 宣言漏れによるエラーを防止
  • コードの品質が大幅に向上

するため、全VBAユーザーが必ず使うべき設定です。


・設定方法(手順)

  1. VBA画面を開く
  2. メニューから [ツール] → [オプション] をクリック
  3. 「変数の宣言を強制する」にチェック

これで新しいモジュールに自動で Option Explicit が挿入されます。




✅ 実務でよくある変数宣言ミスと原因

・文字列として扱いたいのに数値になっている

Dim code
code = 00123

→ Variant型の数値扱いになるため先頭の0が消える。


・日付の扱いで混乱する

Dim dt As Date
dt = "2024/05/01"

Region 設定の違いで変換エラーが出ることもあるため、
日付型は日付シリアルで扱うべきケースもあります。


・Booleanの判定が意図通り動かない

Dim flg As Boolean
flg = "" ' → Falseになる(空文字もFalse扱い)

このように、VBAは意外な型変換を行うため、
型宣言の重要性は非常に高いです。


✅ 実務でDimがどう使われるのか(具体的ケース)

・ループ処理のカウンタ

Dim i As Long

For i = 1 To 100
    '処理
Next i

・ファイルパスの格納

Dim filePath As String
filePath = "C:\Data\test.xlsx"

・売上集計の一時格納

Dim total As Double
Dim amount As Double
total = total + amount

参考:【VBA】変数一覧と確認方法まとめ|型・宣言・一覧出力まで徹底解説

・フラグ管理

Dim isSuccess As Boolean
If isSuccess = True Then
    MsgBox "完了しました"
End If

❗ ChatGPTが生成したコードを理解するためにもDimは必須

ChatGPTにVBAコードを作らせると、

  • Dim i As Long
  • Dim ws As Worksheet
  • Dim dict As Object
  • Dim lastRow As Long

など、高頻度で変数宣言が登場します。

変数型の意味を理解していないと、修正や応用ができず、
結局VBAが苦手なままになってしまう
ため、
Dimを理解することはAI活用にも必須です。


❗ UiPath / Power Automate と組み合わせる現場でもDimは重要

RPA業務との連携では、

  • Excel情報を受け渡しする
  • 値の型を正しく扱わないとエラーが発生する
  • オブジェクト名を扱う場面が多い

などの理由で、VBAの変数知識があるかないかで
生産性に大きな差が出ます。

特に UiPath と VBA の連携が多い企業では、
「VBAの基礎を理解している人」が非常に重宝されます。


❗ 変数宣言を正しく使うためのコツ(総まとめ)

・すべての変数に As 型を書く

→ Variant型を避ける

・変数名は意味のあるものにする

→ i, j などは最小限に

・Option Explicit を必ず使う

→ スペルミス防止

・データ型を意識する

→ String/Long/Date/Boolean を正しく使い分ける

・ChatGPTが生成したコードも必ず見直す

→ 特に変数宣言は確認必須


✅ まとめ:DimはVBAの基礎であり、実務とAI活用の両方で欠かせない知識

VBAの Dim は、単に変数を宣言するだけではなく、
実務コードの品質・エラー防止・処理速度・可読性に大きな影響を与えます。

本記事で紹介したポイントを押さえておけば、
初心者でも確実にVBAの理解が深まり、
ChatGPTでコードを作らせる際にも読み解く力がつきます。

Dimを理解することは、VBAの第一歩であり、
業務自動化の基礎力を高めるための最重要スキルです。

ぜひ明日からのVBA開発に役立ててみてください。

-VBAテクニック集, VBA一覧, 変数・知識, 文法・構文