日曜日にせっせと自宅で作ったExcelマクロが、思ったとおりの動作をしなったのですが、ようやく (まさに本当に、苦労に苦労を重ねて”ようやく”) バグの原因を見つけました。
シート保護をかけて、手動ではワークシート変更ができない設定にしながら、マクロからはシート変更が自由にできるというコード(・・・VBAマクロを作る方はご存知でしょうが・・・Protect UserInterfaceOnlyっていうコード・・・)があるのですが、このコードを入れるとうまく動かないことが判明しました。
ちょっと専門的になるのですが、 Worksheets(1).Protect UserInterfaceOnly:=True のコードは、マクロからの変更は可能なはず(少なくとも、そういう理念のはず)なのに、マクロからの変更がシートに反映されないというのは、おかしいと言えます。もしかしたら、Excel自体のバグなのではないかと推測されるのですが、これを調べる気力は今のところありません。Microsoft Office製品の関連サイトをくまなく探せば出てくるかもしれませんね・・・・
原因さえ分かれば回避策を作るのは簡単です。これまでのもモヤモヤがなくなり、気分が一気にスカッ

これで、この1週間、不完全マクロに付き合ってくれた総務係員に、苦労をかけさせずに済みます。
デバッグ作業が大変なことは、いろいろなところで紹介されているので、知っているつもりではいました。
たとえば、大村あつし先生著「かんたんプログラミングExcel2002VBA基礎編」(通称かんプロ)には、
「デバッグは、・・・・・複雑な論理エラーが発生してしまうと、その作業は一転して苦痛と困難を伴うものとなります。」(同著148ページから引用)
とあります。
しかし、バグを見つける作業の大変さを、私はこの度、初めて経験しました。まだまだ修行が足りないな・・・所詮、ホビープログラマーだと、思い知らされました。
先週1週間は、本社からの事務監査が2日間あり、その対応と、本社から出張してきた監査社員の夜の接待なども重なって、金曜日の夜はヘロヘロになって帰宅しました。その金曜日は、夜9時に眠りに入り、翌土曜日になっても疲れがとれずに、夕方まで丸一日ベッドでごろごろと寝ていました。

「はれう」さんのこと<こちらを参照>を笑える資格はありせん。
(「はれう」さん、またまたごめんなさい。)