|
松下さん、VBA研究所の主宰者、谷です。
色々な人が色々に回答をよせておられますが、ちょっとおさらいしてみましょう。
まず、通常、「マクロの記録」機能を用いて作成したマクロは、その記録をするための作業を行ったブックに記録されます。
従って、そのブックを開いていないと、マクロは実行できません。
しかし、そのブックさえ開いていれば、どのブックに対してもマクロが実行できます。
一方、PERSONAL.XLS は、Excelが起動した時に自動的に開くブックです。
特に指定しなくても、PERSONAL.XLS は必ず開きます。
この中にマクロを登録しておけば、Excelを起動したら自動的に開くわけですから、そのマクロはいつでも実行できる、ということになるわけです。
このPERSONAL.XLS は、「XLSTART」と呼ばれるフォルダに保存されます。
逆に言うと、PERSONAL.XLS でなくても、「XLSTART」というフォルダにブックを格納しておけば、そのブックはExcel起動時に必ず自動的に開くようになるのです。
で、その「XLSTART」の場所ですが、規定値は
C:\Program Files\Microsoft Office\Office\XLStart です。
しかし Windows 2000 や Windows XP の場合は、これがユーザーごとに存在します。ユーザー名が TANI だと、
C:\Documents and Settings\TANI\Application Data\Microsoft\Excel\XLSTART
になります。
マクロを含むブックをメールで送った後、「上記のフォルダにそのファイルをコピーしてください」ってのは、コンピュータに詳しくない人にはあまり指示できるものではありません。ので、おすすめできません。
次に、「作ったはずのマクロがみあたらない」ということですが、見つかりましたか?もしかしたら、PERSONAL.XLS を保存しなかったのではないか、と考えます。
PERSONAL.XLS は通常、単体で保存するものではありません。Excelを終了させる際に「個人用マクロ ブックを保存しますか?」と聞いてくるのです。これにうっかり「いいえ」と答えてしまうと、PERSONAL.XLS は保存されません。
りんさんが回答されていますが、あるブックに保存したマクロは、そのブックを開いている限り、他のブックにも実行できます(ということは、同時にふたつのブックを開かなければならなくなりますが)。もちろんマクロの組み方によって、多少の変更が必要でしょう。あるブックは作業対象が A列なのに、別のブックでは B列が対象になっている、という場合は、それなりに汎用性のあるマクロの作り方をしなければなりません。それは別途、ご質問ください。
これでいい? > Jakaさん・・・
|
|