top of page

ExcelのVBAマクロのデバッグ

今日は午前中からExcelマクロと格闘していました。

自分で正しいと思ってプログラムを書いたのに、全く動作をしてくれません。

そこで、いつもやる方法として、

msgbox(変数名)

で、変数の値をチェックします。

しかし、全く思い通りに行きません。

そこで、「Excel VBA デバッグ」などと検索をするといろいろ情報がヒットします。

そこで、最終的に私が取り入れたのは

試したい部分で

stop

を実行し、コードを一時中止します。

その後、Altキーを押し、右カーソルキーで「表示」に移動します。

そこから下カーソルキーで「ローカル」に移動し、enterキーを押します。

これで変数名、値、型式などを確認できました。

こんな簡単な方法を今まで知らなかったとは。

Arrayなどの配列では、enterキーを押すと、さらに配列の中身を確認することができます。

戻りたいときには、Altキーを押し、「表示」まで右カーソルキーを押し、下カーソルキーで「コード」でenterキーを押すと、マクロのコードに戻ります。

ちなみに私は「dictionary」で連想配列を使用して、値を取り出そうとしていたのですが、未だにうまく行きません。

でも、デバッグで値を調べる事により

a = cells(1,1)

で「A1」の値を変数「a」に入れようとしていたのですが、これはだめだと気がつきました。

a = cells(1,1).value

これで、「A1」の値が変数「A」に入り、連想配列のキーにセットする事ができました。

日曜日なのに頭を使いすぎてつかれてしまった。

でも、プログラムはやはり好きなのかな?


最新記事

すべて表示

子供の悩み

昨日の慌ただしさと違い、今日は家で仕事。 会計処理を中心に、いろいろな仕事を無事に行えました。 我が家の今の最大のテーマは子供の学校問題です。 もちろん仕事もとても重要なのですが、子供のことも同じようにとても重要です。 学校に行かなくなって1ヶ月。...

慌ただしい1日

今日は5時過ぎに起床。 そしていろいろ仕事をしてから、ワンちゃんや香織ちゃんが起きました。 いろいろ私の用事をしていると、子供の「あああ」という大きな声。 その後、「ベッドでおしっこをしちゃった」と、まあ聞きたくない言葉を聞いてしまいました。...

久しぶりのblog

本当に久しぶりのblogになりました。 やはり私は意思が弱いのかなあ? 忙しいということを理由にしてなかなか書くことができませんでした。 私に取ってのこの2ヶ月はかなりの忙しさでした。 ううん、忙しいと言うよりいろいろな事件がありすぎ、混乱して過ぎてしまった2ヶ月かも知れま...

bottom of page