こんにちは~。「デザインもできるシステムエンジニア」のあつもり(@atumori17)です。今日も業務効率化のためにプログラムを活用できないかを考えています。
前回はウォッチウィンドウを使ってのデバッグ方法を説明しました。
今回は一歩進んでイミディエイトウィンドウを使ってデバッグする方法を紹介していきます。
目次
イミディエイトウィンドウで何ができるのか?
まずはイミディエイトウィンドウを使うと何ができるのか?を説明しますね。
- プログラムの中にある変数や関数の戻り値を表示させる
- 関数の実行結果を見る
- 計算をする
- エクセルブックやシートなどのプロパティを見る
というようなことができちゃいます。イミディエイトウィンドを表示させる方法は、
メニューバーから「表示」→「イミディエイトウィンドウ」または
Ctrl + Gキーです。
それでは順番に説明していきます。
Debug.Printを使って変数や関数の戻り値を表示させる
Debug.Printを使うと、プログラムの中にある変数や関数の戻り値を表示させることができます。
下の例は前回の記事で使用したプログラムです。エクセルシートの1行目から10行目のセルに、行番号に10を掛けた数を入れていくいうものです。
変数yとAddNumberの戻り値にどのような値が入っているのかを知りたかったので
Debug.Print y
Debug.Print addNumber(y)
としました。
このプログラムを実行すると、イミディエイトウィンドウにDebug.Printのあとに書かれた変数の中身が表示されます。
変数yが増えると、関数AddNumberの戻り値が増えているのがわかりますね。
このようにDebug.Printを使うと、変数の変化の過程がわかるのでとっても便利なんですね。
プログラムコードの中にDebug.Printを書かなくても、デバッグ中にイミディエイトウィンドウに?+変数を入力すれば、その変数に何が入っているかを見ることができます。
関数の実行結果を見る
続いて関数の実行結果を見る方法です。
イミディエイトウィンドウに
?addNumber(123)
と入力してEneterキーを押すと
1230という数字が返ってきました。
これは関数addNumberに引数123を入れて、戻り値が1230だったことを表しています。このようにイミディエイトウィンドウの中で関数を実行してその結果を見ることができます。わざわざプログラムを実行しなくても、関数の動きが見れるのでとっても便利ですよ。
続いて
?right(“あああいいい”,3)
と入力してEneterキーを押すと
いいいとう文字列が返ってきました。
これはVBAで使える標準関数であるRightの実行結果です。あああいいいの右から3文字を抜きだした結果というわけですね。
このようにVBA標準関数の動きも見れちゃうんですね。この関数どうやって使うんだっけって時に試しに動きを見てみるという使いかたができます。
計算をする
イミディエイトウィンドウを使えば計算もできます。
イミディエイトウィンドウに
?5*5*5
と入力してEnterキーを押すと
125という答えが返ってきます。
?10 mod 3
と入力してEnterキーを押すと
1という答えが返ってきます。modは割り切れないぶんの余り出してくれます。
エクセルブックやシートなどのプロパティを見る
エクセルブックやシートのプロパティを見ることもできます。
?thisworkbook.sheets(2).name
と入力すれば、2番目のシートの名前を取得できますし、
?thisworkbook.sheets(2).range(“B1”).value
と入力すれば、2番目のシートのB1セルに入っている値を取得できます。
エクセルブック名などを取得することもできます。
まとめ
いかがでしたか?今回はエクセルVBAでイミディエイトウィンドウを使ってデバッグする方法を紹介しました。イミディエイトウィンドウはデバッグだけでなく、色々な使いかたができることがわかっていただけたと思います。
使い始めると手放せない便利な機能なのでぜひ試してみてください。
その使い方だと損してます!
会社員、個人事業主のかたへ。
無料で登録できるAmazonビジネスアカウントを知ってますか?
何と言っても便利なのが請求書払いによる後払いができるということ。
また、承認ルールを作成すれば、業務上必要な物だけに購入を制限することができます。
さらに多くの商品にビジネスアカウント価格が設定されており、個人アカウントより安く購入できます。
このように個人アカウントと比べてビジネスアカウントはお得な機能や特典がついています。
無料で登録できるので、会社員、個人事業主なら使ったほうが得なのは言うまでもありません。