- ベストアンサー
エクセルのマクロについて
マクロを設定して保存したファイルを開くと、マクロを有効にするか無効にするかというメッセージが出てくるんですが、「ツール」→「マクロ」→「マクロ」からマクロを実行しようとすると、マクロが見当たりません。 どういうことでしょうか? マクロやVBAのことはよくわからないので助けてください!
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3です。 > 何日か後にファイルを開いてみると、「罫線」のマクロ > が見当たりませんでした。 可能性として思いつくのは下記の3つです。他にもあるかも知れませんが、、 1.マクロ記録後、そのブックを保存しなかった。 2.同時に開いていた別のブックがアクティブの時に記録を開始したため、別のブックに記録されてしまった。 3.記録先が「個人用マクロブック(Personal.xls)」になっていて、なおかつマクロを記録したパソコン以外でブックを開いている。 ちなみに先にも書きましたが「マクロ有効」メッセージは「標準モジュールがあるだけでも、各シートにマクロのスケルトンがあるだけでも出ます。」 Private Sub Workbook_Open() End Sub こういう中身の無い記述を全て消して、標準モジュールやユーザーフォーム、クラスモジュールなどを全部削除して保存すれば「マクロ有効」メッセージは無くなると思います。
その他の回答 (4)
- coco1
- ベストアンサー率25% (323/1260)
既に皆さんが補足してくださっていますが、Alt+F11でVBAエディタが起動して、メーラーみたいに3つの小窓が開いたと思います。 左上に VBAProject +MicrosoftExcelObjects +Sheet1(Sheet1).. +ThisWorkbook 等とあると思いますので、それを片っ端からクリックして頂くと、右側にあるコード表示画面にマクロコードが順次表示されます。 ご質問の様な症状は、ワークブックを自動的に開いたときに実行される、あるページがアクティブになったときに実行されるなどの場合のマクロだと思いますので、どこかにOnOpenとかOnActivateなどと書かれたコードがあると思うのですが。... とりあえず以上。
補足
「+ThisWorkbook」という部分に、以下のような記述がされています。 ----------------------------------------- Private Sub Workbook_Open() End Sub ----------------------------------------- これからどうしたらいいでしょうか? ちなみに「+Sheet1」には、 --------------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub --------------------------------------------- と記述されています。
- papayuka
- ベストアンサー率45% (1388/3066)
マクロの設定っていうのはどのようにされたのでしょう? VisualBasicEditorを開いて内容を確認してみましょう。 マクロメッセージは標準モジュールがあるだけでも、各シートにマクロのスケルトンがあるだけでも出ます。 自分で記述したものなら、Private になっているとか、引数があるとマクロ実行のダイアログには出ません。 Private Sub xxxxx() だと出ない ↓ Sub xxxxx() だと出る。
補足
返答ありがとうございます。 マクロの設定は、「ツール」→「マクロ」→「新しいマクロの記録」から、「データの入力されている範囲に自動的に罫線を引く」というようなマクロを作成しました。ちなみにマクロ名は「罫線」です。 何日か後にファイルを開いてみると、「罫線」のマクロが見当たりませんでした。 なぜ~っ!?という感じです。
- biwajima
- ベストアンサー率20% (29/140)
#1さんの仰る通りですが Altキー と F11キー を同時に押すと Visual Basic のウィンドウが開きます。 左側にプロジェクトウィンドウがありますが、その中に Microsoft Excel Object の下に Sheet1~Sheet3,ThisWorkbook等があると思います。 (標準モジュール等もあるかも知れませんが) それを右クリックしてコードを表示してみて下さい。 何か記述があると思います。
お礼
返答ありがとうございます。 コードの表示はできたのですが、そこから進みません。 VBAって難しいです。
- coco1
- ベストアンサー率25% (323/1260)
ブックを開いたときに実行するようなマクロが記述されているのでしょう。 Alt+F11でマクロエディタを開いてみると、WorkBookという部分にOnOpen...という記述があるはずです。 もっと詳しく知りたかったら補足を要求してください。
補足
返答ありがとうございます。 「OnOpen...」というのが見つからないのですが、どこにあるのでしょうか?
お礼
記述されている内容を全て消してみました。 メッセージが出なくなったので、よかったです。 「罫線」のマクロは直接私が作成したものではないので、保存がどのようにされたのかわかりません。 とりあえずはこれで解決しました。 色々とありがとうございました。 また何かありましたら、ご指導お願いします。