今回は、受講生からの質問メールの回答をご紹介しようと思います。
小川先生
いつもお世話になります。
さて今回は、直近で私が作成したマクロをお送りします。
今まで、 ほとんど我流やってきて、マクロを人に見てもらう機会もあまりありませんでした。
ですので、この機会に一度先生にソースを見ていただいて、私の癖や、問題点などを指摘いただけると幸甚です。
データの内容は、生産管理系のもので、在庫分析を行うマクロです。(データはいただいたツールにて変換しています。)
もう一つ、別件になりますが、このマクロ入りのファイルを別の手順書として使用しているエクセルファイルに添付して社内で展開しているのですが、添付状態から開くと、『実行時エラー"1004"WorksheetクラスのSelectメソッドが失敗しました』というエラーが出るのですが、原因が分からず困っています。(単独で実行する場合にはエラーは出ません。)
お送りしているデータも、添付状態にしていますので宜しければ一度見ていただけませんでしょうか。(コード以外の相談になってしまい、すいません。)
どうぞ宜しくお願いします。
我流でやってきて、自作のマクロを人に見てもらう機会がない・・・こういう方はたくさんいますね。
彼の書いたマクロには、我流の人がやってしまう典型的な問題点、よくない点などがいろいろありました。
今回、彼が送ってきたマクロにも、典型的な問題がいろいろありました。
それで、その問題についてコメントしたのですが、その後、彼からの返信がありました。
返信でもらったメールをそのまま紹介します。
どんな課題があったのか、想像してみてください。
小川先生
いつもお世話になります。
早速、ご確認いただき、ありがとうございます。
[1]Option Explicitが抜けていた点
→先生のセミナーを受講する前は、徹底できていませんでした。
今後は忘れず、設定するようにします。
[2]全角サププロシージャはNG、わかりやすい名前をつける
→セミナーでもおっしゃられていましたね。
これまでは、全角でつけることが多かったので、注意して癖を直していきます。
[3]Worksheetにニックネームをつける
→以前、人に渡したマクロで、シート名を変えられてエラーが出たことがあり
ナンバーで管理するようにしていたのですが。
→これは別の予防措置で対応した方がよいですね。
ナンバーですと複数のファイルを開いていた場合は他のファイルでマクロを実行してしまったり、トラブルの元ですね。
今後は、ニックネームで管理をします。
[4]インデントの指摘
→これも今まで、よくわからずやっていました。セミナーにてプロシージャを書いた後に、Tabキーでスペースを押すことを教えていただいた際は、なる程と思いました。
フォローアップセミナーNo.11で詳しくご紹介していただいているので、熟読します。
[5]サブルーチンの指摘
→ほぼ、形は同じですがどうやってルーチンにするのか分かりませんでした。
でもルーチン化できるんですね。色々方法を考えてやってみようと思います。
それでは、また!