【ExcelVBA】変数の値を確認する方法を徹底解説!





こんにちは、ExcelVBAマスターのシロです。

皆さんは、ExcelVBAで変数の値を確認するときどのような方法を使っていますか?

エラーの原因や、意図しない結果になった時の原因を調べる場合に、変数の確認方法を覚えておくととても便利です。

そこで今回は、変数の値確認方法について徹底的に解説します!

いきなり全て覚えるのではなく、初級編をまずは試し、慣れてから上級編をチャレンジしてみることをおすすめします!

VBA基礎
この記事ではマクロの作り方や、VBAの基礎的な書き方については説明していません。
基礎から知りたい方は以下を見てみてくださいね!
>> 【ExcelVBA超入門】マクロを初めて作るための設定・方法とは?
>> 【ExcelVBA超入門】VBAを書くために覚えておくべき基礎知識とは?

【初級編】変数の値を確認する方法

まずは、簡単に変数の値を確認する方法について解説します!

初めて変数を使う方におすすめです!

Msgboxを使ってメッセージで確認

まずは、メッセージで確認する方法をご紹介します。

Msgbox 変数名」を入力することで、ポップアップメッセージで変数の値を確認することができます。

次の処理を実行することで、実行結果のようにメッセージが表示されます。

サンプルコード:

Sub test()
  dim strName as String
  strName = "シロ"
  
  MsgBox "私の名前は【" & strName & "】です。"

End Sub

実行結果:

強制的に途中で処理を止めてメッセージで変数を確認できるので、最初に覚えると便利ですね。

Debug.Printを使ってイミディエイトウィンドウで確認

つぎに、イミディエイトウィンドウに変数の値を表示する方法についてご紹介します。

Debug.Print 変数名」を入力することで、イミディエイトウィンドウに値を表示することができます。

サンプルコード:

Sub test()
  dim strName as String
  strName = "シロ"
  
  Debug.Print "私の名前は【" & strName & "】です。"

End Sub

実行結果:

処理を止めることなく、値を確認することができます。
値を確認したい場所に、Debug.Printを書いておけば複数の変数を一気に確認することができます。

補足
イミディエイトウィンドウが表示されていなかった場合は、「表示タブ → イミディエイトウィンドウ」でウィンドウを開くことができます。


【上級編】変数の値を確認する方法

初級編では、コードに直接変数確認用のコードを書いて確認しました。

ただ、「確認用のコードを書く → 確認して消す」を毎回続けていると、時間がかかってしまいますよね。

より速く、正確にVBAを書くテクニックがあるのでご紹介します!

ブレークポイントの基礎的な使い方

ブレークポイントを使って処理を一旦止めることが前提のため、最初にブレークポイントの使い方について簡単に説明します。

コードウィンドウの枠の左にをマウスでクリックすることで、ブレークポイントを設定することができます。

処理を止めたい行にブレークポイントを置き、実行することで特定の位置で処理を止めることができます。

ブレークポイントで止めることで、次のような応用的な変数の確認をすることができるようになります。

マウスオーバーで確認

変数名の上にマウスをのせると、変数の値がふわっと表示されます。

変数名が少ない場合や、ちょっとした確認をしたい場合はこの方法でOKです。

「?変数名」で値を確認

?変数名」をイミディエイトウィンドウに入力し、Enterキーを押すことで値を確認することができます。

確認した変数の値をテキストとしてコピーしたい場合に便利ですね。

ちなみに私は、この方法をメインに変数確認をしています。

変数名さえわかりやすく設定しておけば、この方法が一番早く確認できるのでおすすめです!

補足
イミディエイトウィンドウは変数の値確認以外にも計算式関数プロパティの値などを確認することもできます。

数式の値を確認する場合:

プロパティや関数の値を確認する場合:

ウォッチ式に入れて確認

?変数名」の場合だと、複数の変数を一気に確認したい場合、時間がかかってしまいます。

そんなときは、ウォッチ式がおすすめです。

ウォッチ式を使うと、調べたい変数を一気に確認することができます!

ここでは、次のようなユーザーフォームで作った画面から入力した値が、正しく変数に入っているか確認するためのウォッチ式を設定しています。

サンプル画面:

ウォッチウィンドウ結果:

変数を一括で確認することができるので、便利ですね。

ウォッチ式設定方法

それでは、ウォッチ式の設定方法について説明します。

1. 表示タブ→ウォッチウィンドウを選択してウォッチウィンドウを開く

2. 変数名で右クリック→ウォッチ式の追加をクリック

3. ウォッチ式の追加ウィンドウでOKボタンをクリック

こうすることで、次のようにウォッチ式が追加されます。

確認したい変数を同じ手順でウォッチ式に追加してから実行することで、一気に値を確認することができます!

・複数の変数の値を一気に確認したい場合
・デバッグ実行しながら変数の値を随時確認したい場合

などにウォッチ式を使うとより効果的です。

まとめ

今回は、ExcelVBAで変数を確認する方法について徹底的に解説しました!

変数の確認方法をマスターすると、VBAを正確に速く書くことができるようになります。

覚えてすぐ試せるものばかりなので、ぜひ使ってみてくださいね!

The following two tabs change content below.

Siro

ネコ好きフリーランスエンジニア。
開発、技術、働き方、ツールなどについて発信しています。
楽しく、開発しようぜ!