VBA イミディエイトウィンドウの使用方法ちゃんと知っていますか?



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、taka(@takabou63)です(^^♪

さて、VBAについて検索しているのかで【イミディエイトウィンドウ】という単語を見たことありませんか?

【聞いたことある】、【見たことあるけと使い道がいまいちわからない】という方も多いのではないでしょうか?

今回はそんな【イミディエイトウィンドウ】について簡単な使い方をご紹介していきます(^^♪

イミディエイトウィンドウとは?

イミディエイトウィンドウは、プログラム処理中の変数やプロパティの値をチェックなどに使うことができるウィンドウです(^.^)
イミディエイトというのは【即座】という意味の言葉で、値のチェックなどを即座に確認できるウィンドウということですね!

私はVBAを使用し始めた頃はこのウィンドウの使い方をわからずに使っていませんでした(笑)

いざ使ってみると、とって便利ですよ(笑)

イミディエイトウィンドウを表示する

さて、まずはイミディエイトウィンドウを表示させます。

VBEを開き【表示】タブの【イミディエイトウィンドウ】を選択してください(^^)/

またはVBEを開いた状態で【Ctr+G】を押すことでも表示できます

イミディエイトウィンドウを使ってみる

では、イミディエイトウィンドウの表示ができたところで、実際にイミディエイトウィンドウを使ってみましょう!

イミディエイトウィンドウの使用方法は大きく分けて二つあります。

  • プロシージャなどの結果をイミディエイトウィンドウに表示させる
  • イミディエイトウィンドウを直接使用する

それぞれ使うタイミングが違いますが(;^ω^)

イミディエイトウィンドウに出力する【Debug.Print】

さて、まずはプロシージャの値などを出力する方法について紹介していきます。

イミディエイトウィンドウにプロシージャなどの値を出力するには【Debug.Print】という命令を使用します。

Debug.Print 出力する式など

使用イメージとしてはメッセージボックスに使いかなって個人的には思っています(‘ω’)

まぁ、実際に使ってみればイメージがつかめるかと思いますので、下記のサンプルコードを実際に使用してみください!

Sub Sample()
'文字列も
Debug.Print "イミディエイトウィンドウを使用してみよう!!"
'数式も
Debug.Print 100 * 5
'関数も
Debug.Print Date
'変数も
Dim i As Long
For i = 1 To 10
Debug.Print i
Next
'配列だって
 Dim Group(2) As String

  Group(0) = "鈴木"
  Group(1) = "佐藤"
  Group(2) = "山本"
  '-------------------
Debug.Print Group(0) & "、" & Group(1) & "、" & Group(2)

End Sub

実行してみると画像のように結果が表示されるはずです。

このように、Debug.Printはプロシージャの動作確認や変数の確認の時に使用します。

セミコロンで【;】Debug.Printを改行しないようにする

さて、先ほどの画像を見てもらえばわかるのですが、繰り返し処理などをDebug.Printで出力すると【改行】されてしまいます(*_*;

10だから良いですが、数百やそれ以上を出力してしまうとかなりの行数になってしまいます(*_*;

そんなときに対策として使用するのが【;】セミコロンです。

Debug.Print 出力する式など;

このようにするだけで、改行しないで出力することができます。

Sub Sample()

Dim i As Long
For i = 1 To 20
'セミコロンを入れるだけで改行されない
Debug.Print i;
Next

End Sub

【,】カンマでDebug.Printにタブを入れることができる

セミコロンと同じように【,】カンマを付けることによって出力時に【タブ(空白)】を入れることができます。

Debug.Print 出力する式など,

このようにすることタブを入れることができます。

なぜか等間隔じゃないという・・・(笑)

等間隔に出力したい場合は、Space関数を使用するのが簡単でオススメです(^.^)

Sub Sample()

Dim i As Long
For i = 1 To 20
'Space関数とセミコロンを使用することで等間隔で出力される
Debug.Print i & Space(3);
Next

End Sub

イミディエイトウィンドウを直接使用する

さて、先ほどまではプロシージャから値などを出力していました、おそらくはこの使い方をしている方が多いかと思います。

ですが、イミディエイトウィンドウに直接コードをを入力することでプログラムを実行することもできるのです(; ・`д・´)

試しに下記のようなコード実行してみてください。

Range("A1").value=100

しっかりとA1の値が100になっていますね

イミディエイトウィンドウでプログラムを実行する場合はプロシージャなどを用意しなくてもコードを実行することができます

直接コード入力してプロパティや値を調べるには【?】クエスチョンを使用する

というわけで、直接コードを入力してプロパティや値を調べるには【?】クエスチョンを使用します。

?結果を表示したい式や関数など

試しに下記のようなコード実行してみましょう!

??1+1

イミディエイトウィンドウにこのコード入力してEnterを押してください。

このように値が返されるコードは【?】クエスチョンを使用します。

処理中の変数の値を出力する

この方法を知っているとデバック作業が随分と捗ると思います。
ブレークポイントなどで処理を中断させた状態の変数の値などを取得することができます。
参考【VBA【ブレークポイント】任意の位置でプログラムを中断させる

Sub Sample()

Dim i As Long
Dim cnt As Long
cnt = 1
For i = 1 To 20

 cnt = cnt + cnt

Next

End Sub

上記のようなコードでブレークポイントを指定して「F8」で何回はプログラムを進めていきます。

何度か繰り返した後、変数【cnt】をイミディエイトウィンドウで出力してみます。

このように途中で中断したプロパティの現在の変数などを出力することができるので、動作確認やデバックなんかの作業に非常に有効です。

まとめ

というわけでイミディエイトウィンドウについてご紹介していきました(*_*;

とっつきにくいイメージがあるかもしれませんが、イミディエイトウィンドウはVBAを勉強していくうえでとても役立つ機能です。

使い方をマスターしてVBAプログラミングの効率を上げましょう(^^)/

フォロー・チャンネル登録お願いします

VBA以外についてのブログはこちら↓

https://yb-log.com/

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です