- 締切済み
エクセルファイルを開くとこんな表示が
いつもお世話になります 最近、エクセルのマクロに凝っていていろんなボタンを自作しています。ところが、なにかの拍子に、エクセルを開くと注意マークで 「MicrosoftVisualBasic・ファイルが見つかりません」と開くたびに表示されるようになってしまいました。OKボタンを押せば使えるのですが、開くたびなのでわずらわしく感じます。どのようなことが原因でしょうか 教えてください
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >やはり、マクロは付け焼刃でいじるものではないようですね みんな付け焼刃です。らしくない振りをしているだけです。私など、思い違いの失敗の連続ですし、掲示板でさえ、思い込みという恥ずかしい失敗をしています。(誰も指摘しないので、1年以上気がつかないのです)それに、あるプロの方から、しっかり覚えて使いこなせるようにする、と考えていたら、いつまで経っても使えるようにならない、と言われました。最終的に、マクロは、基本構文さえ理解していたら、それでよいのです。 ただ、おっしゃる例は、私は、二度ほど掲示板で受けて成功しています。いえ、最近、ここの掲示板であったので、3度目で、それぞれ事情は違っても、みなさん、段階にしたがってアドバイスにしたがって自力で回復しています。最近のは、特殊なな設定で、最初、さっぱり手がつけられませんでした。みなさん、最初の導入の部分で、誰も説明していないので、間違えてしまったのだと思います。 (ただ、概ね、こちらのマクロでチェックしていただいている例が多いのです。なぜか、いくら言葉で説明しても通じていないようなのです。) せっかく、書いていただいたけれども、こちらが知りたい情報がまだ書かれていないということなのです。 少し、リストしてみます。 ----------------------------------------- ・ボタン(CommandButton)は、何ですか? (フォーム、ツールバー、コントロールツール,コマンドメニュー) ・そのマクロは何を目的にするものですか? Nayuta_Xさんおっしゃている、参照設定するものですか? (IE, Word, Win Tools, 他-タイプライブラリ) ・そのボタンは、どこにマクロ(VBA)が登録されているのですか? 一般のワークブック, 個人用マクロブック(PEROSNAL.xls), アドイン ---その設定された PERSONAL.xls の場合は、どこにありますか? ---PERSONAL.xls は、ローカルエリアにないといけません。グローバルエリア "C:\Program Files\Microsoft Office\" ではありません。 "C:\Documents and Settings\ユーザー名\Application Data\" です。 診断プログラム: 3年ほど前に作ったもので、今の私の書き方とは違いますが、Classモジュール以外なら、どこでも、動くはずです。動かないときは、Office の一部のプログラムが壊れていると思ってください。(一旦壊れると復旧しにくいです。)97以上のVerisonなら大丈夫だと思います。PERSONAL.xls を探すプログラムで、点線(----)の下には、二つは出てきてはいけません。ひとつしかありません。二つあると、不明のトラブルを起こします。また、それぞれのフォルダには、基本的には、PERSONAL.xls しか入れてはいけません。テキストファイルもいけません。 '(どこでもよいです) ' ' Sub Find_PersonalFile() Dim StartUpPath As String Dim myApplicationPath As String Dim myStartFolder As Variant Dim fn As Variant, Findnames As String Dim i As Long StartUpPath = Application.StartUpPath myApplicationPath = Application.Path myStartFolder = Array(StartUpPath, myApplicationPath) For i = LBound(myStartFolder) To UBound(myStartFolder) With Application.FileSearch .NewSearch .LookIn = myStartFolder(i) .FileType = msoFileTypeAllFiles .Filename = "PERSONAL" .SearchSubFolders = True .Execute If .Execute() > 0 Then For Each fn In .FoundFiles Findnames = fn & Chr(13) & Findnames Next fn End If End With Next i If Len(Findnames) > 0 Then MsgBox StartUpPath & "か" & Chr(13) & myApplicationPath & "\Xlstart " & Chr(13) _ & " に保存してありますか?" & Chr(13) & Chr(13) & "----------------------------" & Chr(13) & Findnames Else MsgBox "探しても見つかりません", 16 End If 'XLSTART代替フォルダ名は、この限りではありません。 End Sub
- Nayuta_X
- ベストアンサー率46% (240/511)
ANo.3の回答の補足です。 実は、ANo.3の回答には、問題があります。 Bookを上書き保存すると、常にそのファィルがOpenされますので、上書き保存しないようにすることです。 もし C:\Documents and Settings\ユーザー名\Application Data\Microsoft\Excel\XLSTARTにBookがあったら 削除するのもひとつの手段かも。 Openして エラーの出るBookのアドレスを調べて入れ替えるのも良いかと。
- Nayuta_X
- ベストアンサー率46% (240/511)
Wendy02さんが、指摘された;;;一般のブックにマクロを書いてしまい、Excelの起動時にはマクロのブックは呼び出されていないので、エラーを出す例があります;;; を解決するには、C:\Documents and Settings\ユーザー名\Application Data\Microsoft\Excel\XLSTART の中にExcel Bookを新規に入れて、旧Bookをフォルダに入れると解決します。 旧Bookをフォルダに入れるのは、保険として バックアップしておくためです。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 それは、どこでエラーが発生しているか、エラー・ダイアログのデバッグのボタンを押して、どこで発生しているか調べてみてください。こちらでは、ある程度の経験的なことしか言えませんから、個別の指摘は無理です。 みなさんが、よく間違えるのは、ツールバー上のボタンの場合、マクロは、個人用マクロブックに登録すべきなのですが、一般のブックにマクロを書いてしまい、Excelの起動時にはマクロのブックは呼び出されていないので、エラーを出す例があります。
- Nayuta_X
- ベストアンサー率46% (240/511)
たとえば、個人用マクロの中で、MicrosoftVisualBasic を参照設定しているマクロが、あるとか。 一番怪しいのは、MicrosoftVisualBasicを参照設定している アドインマクロを知らずに登録した。 この場合、アドインの登録を確認すると見慣れないものが、あったら チェックを外して、エクセルを再起動するとわかりますが。 アドインの登録の内容を確認する方法は、 エクセルを開いて、ツール⇒アドイン で確認出来ます。
お礼
ご丁寧にありがとうございます。 やってみたのですが、改善されませんでした。 こうなったら、エクセルを再インストールしてみようかと思います。 やはり、マクロは付け焼刃でいじるものではないようですね