- ベストアンサー
エクセルのマクロの修正方法
エクセルで簡単なマクロを作って使用しています。 例えば罫線を引いたり、特定の行列を削除するなど本当に簡単なものです。 ところが、ある時期から全てのマクロ(20個くらい)を実行させると必ず、ある特定のファイルが開いてしまうのです。 おそらくなにか間違った操作したためだとおもうのですが、どこで修正すればよいのでしょうか? マクロ編集画面の「VBAProject」というところですか? (あまり詳しくないのでかんたんにお願いします) ウインドウズXPでエクセル2000です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。#2 のWendy02です。 >そうするとコマンドボタンに取り付ける方法ではこういう問題が今後も出てしまうのですか? 一応、ツールバーに対するコマンドボタンだけになりますが、そういうことになります。マクロで登録する方法もありますが、それは、また、別の機会にでもご質問なさると良いです。少し、ややこしいように思います。 そこで、今回の場合は、「個人用マクロブック」はお分かりになりますか? 一度、ダミーのマクロを作れば、個人用マクロブックの標準モジュールに登録されますから、以下の方法を試してみてください。 ツール-マクロ-新しいマクロの記録 マクロ名(M) .... そのまま マクロの保存先(T)で、クリックすると 「個人用マクロブック」というのが出てきます。 それで、OK を押して、適当にセルをクリックして、マクロの記録の終了をしてください。 Visual Basic Editor (Alt + F11 )をあけますと、 左上の窓の中に、 VBAProject(PERSONAL.XLS) というものがありますから、それをクリックして、Module1 というものをクリックして開けます。 ダミーで作った、Sub Macro1() ~ End Sub は、削除してください。 そこに、前のブックのVisual Basic Editor(VBE) を開けて、その中のマクロを、範囲を選択して、Ctrl + C で、コピーし、PERSONAL.XLS のModule1 に、Ctrl + V で、貼り付けます。 たぶん、今まで動いていたものなら、問題はないと思いますが、その中で、ThisWorkbook というオブジェクト名は、必ず、ActiveWorkbook であることを確認してください。それは、VBEの編集-検索で、カレントプロジェクトを選択して、文字を検索すると、その場所が出てきますので、一度、確認してみてください。 次は、ボタンの登録先の変更です。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2446920 ( http://okwave.jp/kotaeru.php3?q=2446920 ) ここでも、似たようなお話が出ていますが、マクロで変更というのは、どうやら成功しそうにもないようです。たぶん、そのマクロは、この先、何年もお使いになる大事なマクロでしょうから、今回は、面倒ですが、一つずつ、手作業で、マクロの登録先の変更をしてください。 登録先の変更の方法は、 表示-ツールバー-ユーザー設定 コマンド(タブ) で、出ているボタンを選択し、 「選択したボタンの編集(M)」 をクリックして、 「マクロの登録」のダイアログが出たら、 「マクロの保存先(A)」 を「PERSONAL.XLS」に変更して、一つずつ、登録しなおしてみてください。 なお、PERSONAL.XLS は、Ctrl + S で、保存してください。その後で、バックアップを取って、別の場所に、名前を変更しておいておくと良いです。あまり壊れるようなことはありませんが、念のためです。 場所は、 XP の場合は、以下の場所にあります。 C:\Documents and Settings\[ユーザー名]\Application Data\Microsoft\Excel\XLSTART\ ここには、基本的には、PERSONAL.XLS のみが入っていることを確認してください。他のものが入ると、誤動作の原因になります。 なお、ウィルスが入っている場合は、種類によっては、\XLSTART2\ などというフォルダ名になるようです。 また、通常は、ツール-マクロ-セキュリテイの 信頼できる発行元(タブ) 組み込み済みのアドインとテンプレートをすべて信頼する(A) にチェックを入れておきます。マクロのセキュリティを「高」にしておいても、そのマクロは動きます。
その他の回答 (3)
こちらはwindows2000エクセル97ですことをまずお断りします。 「ツール」→「マクロ」と進み、そこでいくつかあるマクロのうちどれかを選んで、「編集」を選択するとまくろのプログラムを見ることができ、「編集」の代わりに「実行」を選択するとそのまくろが実行されます。このやり方でチェックしてください。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >ある時期から全てのマクロ(20個くらい)を実行させると必ず、ある特定のファイルが開いてしまうのです。 それは、端的に言うと、マクロの置き場所と、その起動方法の問題です。 ある時期というのは、Excelのツールバーなどにコマンド・ボタンを取り付けたことと、便利だから、別のブックで使いたくなった時ですね。 >例えば罫線を引いたり、特定の行列を削除するなど本当に簡単なものです。 通常は、そのようなマクロは、個人用マクロブック(Personal.xls)の標準モジュールに登録します。そうすれば、少なくとも「開いてしまう」というような問題は発生しなくなります。 私の個人的な意見からすると、そのマクロは、だいたい、10行以内であることと、種類によって、モジュールを分けてあげるのが、良いかと思います。あまり大掛かりな仕掛けのものは、個人用マクロブックには不向きです。私は、あえて、ファイル呼び出しの設定を、参照設定という形にしてやることがあります。 また、20個の同種のマクロは、アドイン化してやれば、必要なときに持ち出し出来ますから、便利にはなるかと思います。
補足
そうです!確かにツールバーなどにコマンド・ボタンを取り付けたころからでした。そうするとコマンドボタンに取り付ける方法ではこういう問題が今後も出てしまうのですか?また、標準モジュールに登録するにはどうしたらよいのですか?
- pbforce
- ベストアンサー率22% (379/1719)
ウイルスチェックはしていますか? ちょっと怪しそうです。
補足
ある特定のファイルというのは、自分で作成したエクセルファイルなのです。でもウィルスの可能性ありますか?
お礼
会社でもなかなかマクロに詳しい人もいなくて困っていましたので 本当に助かります! 個人用マクロブックまでは分かりますのでその後はWendy02さんの回答に 従ってやってみます。 丁寧にありがとうございました。