3 EXCEL VBA講座


史上最強の機能、VBEのデバッグ能力


VBAプログラマーにとって最もありがたい機能と言えます。
私もこれほど充実したプログラムデバッガーを他に知りません。
まさに最強です。(史上最強は言い過ぎかも)

では、デバッガーの使い方を見てみましょう。

1 デバッガーの使い方


マウスで茶●の部分をクリックすると、その行全体がハイライト表示されます。

この状態で実行ボタンを押すと、その行が実行される直前にプログラムが止まるのです。



黄色いハイライトにかわります。では、最強デバッガーの威力を見てみましょう。



変数Aを選択して右クリックしてウォッチ式の追加を行います。
出てくるダイアログはそのままOKします。



Aの中身がどうなっているのかを見てみます。



A(1,1)=1
A(1,2)=2
・・・
A(1,26)=26
となって入っています。

Aと記述しただけですが、内部ではこのように扱われていたのです。
この状態のとき、Aは2次元配列であるといいます。
ピンときた方はいますか?今回のプログラムではA1~Z1までの1次元データしか扱っていません。
2次元、例えばA1~Z100までを扱うことができるのではないかです。

では、やってみましょう。



プログラムをこんな風に書き直して下さい。
そして実行します。
※予めA1~Z100までの範囲に数字が入っていることが前提です。
ここでは、先ほどの1~26が大量に入っている状況で実行してみます。


ちゃんと、二次元配列に二次元データが収まっていることが分かります。

2 変数の値の確認


上のコードを止めてみてください。
A(1,,1)の上にマウスカーソルを持ってきて暫く待機すると、変数の値がポップアップ表示されます。
これは、極めて重宝な機能です。私は、極めて頻繁に変数確認をこの方法でデバッグしバグの除去を行っています。
プログラムの開発効率を飛躍的に向上させる素晴らしい機能です。

さらに、プログラムをA=Range・・・の行で止めるようにした後に、「F8」を押してみて下さい。
何と、1行だけ実行して停止しました。
大量の変数を使用するようになると、このように1つ1つ停止させて中身を確認してバグ修正を行います。

開発効率の良さはVBEい勝るものは見たことがありません。
VBAは安心して学べるコーディングテクニックです。忙しい私たちでも短時間で業務改善を行うことができます。