今日は午前中から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」に入り、連想配列のキーにセットする事ができました。
日曜日なのに頭を使いすぎてつかれてしまった。
でも、プログラムはやはり好きなのかな?