• 締切済み

エクセルファイルを開くとこんな表示が

いつもお世話になります 最近、エクセルのマクロに凝っていていろんなボタンを自作しています。ところが、なにかの拍子に、エクセルを開くと注意マークで 「MicrosoftVisualBasic・ファイルが見つかりません」と開くたびに表示されるようになってしまいました。OKボタンを押せば使えるのですが、開くたびなのでわずらわしく感じます。どのようなことが原因でしょうか 教えてください

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 >やはり、マクロは付け焼刃でいじるものではないようですね みんな付け焼刃です。らしくない振りをしているだけです。私など、思い違いの失敗の連続ですし、掲示板でさえ、思い込みという恥ずかしい失敗をしています。(誰も指摘しないので、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)
回答No.4

ANo.3の回答の補足です。 実は、ANo.3の回答には、問題があります。 Bookを上書き保存すると、常にそのファィルがOpenされますので、上書き保存しないようにすることです。 もし C:\Documents and Settings\ユーザー名\Application Data\Microsoft\Excel\XLSTARTにBookがあったら 削除するのもひとつの手段かも。 Openして エラーの出るBookのアドレスを調べて入れ替えるのも良いかと。

satotaka3287
質問者

お礼

ご丁寧にありがとうございます。 やってみたのですが、改善されませんでした。 こうなったら、エクセルを再インストールしてみようかと思います。 やはり、マクロは付け焼刃でいじるものではないようですね

  • Nayuta_X
  • ベストアンサー率46% (240/511)
回答No.3

Wendy02さんが、指摘された;;;一般のブックにマクロを書いてしまい、Excelの起動時にはマクロのブックは呼び出されていないので、エラーを出す例があります;;; を解決するには、C:\Documents and Settings\ユーザー名\Application Data\Microsoft\Excel\XLSTART の中にExcel Bookを新規に入れて、旧Bookをフォルダに入れると解決します。 旧Bookをフォルダに入れるのは、保険として バックアップしておくためです。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 それは、どこでエラーが発生しているか、エラー・ダイアログのデバッグのボタンを押して、どこで発生しているか調べてみてください。こちらでは、ある程度の経験的なことしか言えませんから、個別の指摘は無理です。 みなさんが、よく間違えるのは、ツールバー上のボタンの場合、マクロは、個人用マクロブックに登録すべきなのですが、一般のブックにマクロを書いてしまい、Excelの起動時にはマクロのブックは呼び出されていないので、エラーを出す例があります。

  • Nayuta_X
  • ベストアンサー率46% (240/511)
回答No.1

たとえば、個人用マクロの中で、MicrosoftVisualBasic を参照設定しているマクロが、あるとか。 一番怪しいのは、MicrosoftVisualBasicを参照設定している アドインマクロを知らずに登録した。 この場合、アドインの登録を確認すると見慣れないものが、あったら チェックを外して、エクセルを再起動するとわかりますが。 アドインの登録の内容を確認する方法は、 エクセルを開いて、ツール⇒アドイン で確認出来ます。

関連するQ&A