エクセルファイルが壊れてVBAができない!原因と解決方法を教えてください。

このQ&Aのポイント
  • エクセルのファイルが壊れ、VBAが使用できなくなった状況について相談です。
  • シートの色が変わり、他のファイルも開けなくなったり、VBAのマクロが実行できなくなったりしています。
  • ファイルが壊れた原因やVBAウィンドウの初期化方法に関してのアドバイスを求めています。
回答を見る
  • ベストアンサー

エクセルのファイルが壊れてVBAが出来ない!

何が、原因か未だに分からないのですが、壊れたファイルを開いたせいか、VBAプロジェクトウィンドウにおいて、シートの色が灰色ではなく、青色になってしまい、 その後他のファイルを開いても、○○を開けません。と出てしまいます。 また、VBAのウィンドウには、ファイルの認識がないため、マクロも実行できませんと出てしまいます。 原因は定かではないのですが、シートを大量にコピーしたり移動していたのが悪かった気もします。 何か心当たりのある方は宜しくお願い致します。 また、VBAのウィンドウの開き方、Alt+F11後のウィンドウの配置を初期化するのにはどうしたらいいのでしょうか? 宜しくお願い致します。 * 先ほど、重大なエラーが出たため、再インストールしましたが、ある特定のファイルを開くと、また壊れてしまいます。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

単にそのファイルが壊れちゃったってだけじゃないですか? ここらへんで回復するとか。 http://support.microsoft.com/kb/879783/ja あとはこんな情報とか。バージョン不明だから当てずっぽだけど。 http://www.moug.net/tech/exvba/0040023.htm > 先ほど、重大なエラーが出たため、再インストールしましたが、ある特定のファイルを開くと、また壊れてしまいます。 Excel が壊れる? ---> 普通はそんなこと無いと思う。 正常な特定のファイルが壊れる? ---> そのファイルが悪い。 さっきから壊れてたファイルが正常に戻らない? ---> 当たり前。

mr2gt-s
質問者

補足

ご回答ありがとうございます。 上記のエラーについては、もう手の施しようがない状態で、 あるファイル(壊れている)については マクロが「登録できません」とエラーを返します。 但し、正常なファイルについてはマクロが登録できますので、 正常なファイルのマクロで、壊れているファイルを編集している状態です。 ココまでですと、エクセル自体は壊れていないようにも聞こえますが、 もう一つ問題があり、スクリーンセイバーの画面解除の後に、 何故かVBAプロジェクトのウィンドウが開きます。 大したエラーではないのですが、気になります。 また、PARSONAL.XLSや、アドインの中身のファイルは、 きになったので、他に移動させました。

関連するQ&A

  • エクセルVBAの実行保護について教えてください。

    エクセル2000VBAで構文を複数作り、シート上にボタンを配置し実行させたいと思います。 (パスワードで保護させて、VBAの構文は管理者以外に見えないようにしました) その複数のマクロの中には、実行させたくないものもあります。(管理者のみが行うマクロ) シート上のボタンで配置したもののみ実行可能にして、「ツール」-「マクロ」から誰でも実行させないような方法を教えてください。 つたない説明で申し訳ありませんが、ご理解いただけたでしょうか? よろしくお願い致します。

  • エクセルのVBA起動

    WindowsXPでExcel2002を使っています。 いつの間にかエクセルのVBAエディターを起動するとオフィスのインストールが立ち上がり、Microsoft Excelのコンポーネントをインストールしていますというダイアログが現れるようになりました。なおかつ、開いているファイルにマクロが書いてあれば表示されるのですが、新規ファイルやマクロが入っていないファイルですと何も表示されません。プロジェクトエクスプローラもプロジェクトなしと表示されています。 メニューもほとんどの項目が選択できない状態です。 その状態でも、マクロがあるファイルを開くと、そのファイルだけのプロジェクトが表示されます。 ワード2002を見てみますと、そちらは新規ファイルでもVBAエディターは何のメッセージもなく開きますし、ドキュメントのコードを書くことも出来ます。 何か変なところをいじってしまったのかと思い、一旦削除して再インストールしてみましたが、同じ状況になってしまいます。 再度削除し、オフィス97を入れてみましたが、これですとエクセルのVBAエディタも普通に使えます。 オフィスXPに戻すと、エクセルだけそういう状況になってしまいます。 原因と対応策をお教え頂ければ嬉しく思います。 よろしくお願いいたします。

  • excelでのVBAの組み方について???

    EXCELでVBAを使ってシートを作成しようと考えています。ワークシートを大量に増やす方法と、別のシートを作成し、互いにリンクをかける方法では、どちらが、使用上、また、データ量的によろしいのでしょうか。ちなみに、一つのファイルに大量のシートで組み込んだ場合、データ量が大量になるかと思いますが、ファイルを開く時など、時間的にどうなのかなと思いまして・・・。教えてください。

  • EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?

    VBAのマクロでシートのコピーをしたいのですが、元のシートにはVBAのコードが含まれています。コピーするのはデータだけのコピーが必要で、マクロ自体は必要ないのですが、それを削除するコードはどのように書いたらいいのでしょうか? どうしてもコピーしたファイルを開くと「マクロが含まれています」という確認メッセージが出てしまうのですが、それもなくしたいのです。 シートにフォームのボタンが配置されている場合も同様に、そのボタン自体をなくした状態でコピーを行いたいのですが・・・。プログラムで行うのは不可能なのでしょうか?

  • エクセルのVBAについて

    エクセルのVBAについて教えて下さい。 エクセルのVBAでプログラムを組んでいるのですが、一つわからないことがあるのです。 マクロが実行(オープン)されるファイル名(ファイルパス)をVBAで取得するためにはどうすればいいでしょうか? たとえば、マクロが実行されるファイルがC:\テスト.xlsならば "C:\テスト.xls"を取得したいと考えています。 どなたかご教授お願い致します。 宜しくお願い致します。

  • VBAマクロを含んだEXCELファイルが開けません。

    どうも。 VBA初心者です。 VBAのマクロを含んだEXCELファイルを作成、保存したのですが、EXCELファイル自体が開けなくなってしまいました。 コードの内容は繰り返し制御の練習(WHILE LOOP)ですので、たいしたことはしていません。 原因がお分かりになる方は教えてください。

  • 他のExcelファイルのVBAコードを検索したい

    他のExcelファイルに書かれたVBAコードに、ある特定のキーワード(パス名など)が使われているかを自動的に調べるためのVBAを書きたいと思っています。 仕事で使っているマクロが書かれたExcelファイルからある特定の処理をしているマクロを含むものを検索したいのですが、検索するExcelファイルが膨大なため、順番にExcelファイルを開いてVBAコードをチェックしていく工程をマクロ化したいのです。ファイルを順に開いていく処理はマクロ化できるのですが、書かれたVBAコードのチェックをどうしたらよいか悩んでいます。 「VBAコードに対して検索する」または「VBAコードを1行ずつ変数に代入する」、「モジュールシートをテキストファイルに出力する」などの処理が自動化できれば対応できそうなのですが、そのような処理をExcelVBAで作成できるでしょうか。 なお環境はWindowsXPのExcel2003です。 よろしくお願いいたします。

  • Excel VBAでのコードの書き分け方

    Excel VBAについてご質問します。 プロジェクトの項目を見ると、 Sheet1 ThisWorkbook 標準モジュール などさまざまあると思います。 これらに対して、どこにコードを書いていくべきなのかがわかりません。 例えば、Sheet1にボタンを配置して、それがクリックされたときの動作についてはSheet1に書けばいいのだと思います。 ですが、いろんなシートのコード、フォームのコードなどから呼び出される関数はThisWorkbookか標準モジュールのどちらに書けばいいのか悩んでいます。 それ以外のケースも含めて、一般的にこういう風に使い分けをするというのがありましたら、ぜひ教えてください。 よろしくお願いいたします。

  • エクセル2007で複数ファイル間コピーマクロ

    エクセルでマクロを組もうとしていますが、初歩的なことでつまづいており、ぜひ助けを頂けたらと思います。 VBA言語はほとんどわかりませんが、エクセルでマクロを組んでいます。 一つのワークブック内での登録は問題なく行えるのですが、ワークブック間のコピペをマクロに登録するとうまくいかず困っています。 やりたいことは以下のようなことです。 file.Aのsheet1のA1セル ⇒ file.AAのsheet1のA1セル へコピー file.Bのsheet1のA1セル ⇒ file.BBのsheet1のA1セル へコピー     ・     ・     ・     ・ file.Zのsheet1のA1セル ⇒ file.ZZのsheet1のA1セル へコピー VBAを確認すると、ワークブック名が指定されているため、うまく次のファイルに移行できずにいるようです。 以下が黄色でハイライトされます。 Windows("file.A").Activate 初歩的なことだとは思うのですが、なかなか検索で答えが引っ張りだせないので、A-Zのファイルをコピペできるマクロにするにはどのようにしたら可能なのか教えてください。 よろしくお願いします。

  • VBAの画面が正しく表示されません

    当方エクセル2003を使用しています。ツール→マクロ→Visual Basic EditorからVBAを開いたんですが、以前は左側にSheet1,sheet2などがあり、右側に文字を打つ事が出来たんですが、現在は灰色の画面しか表示されなく、文字を打つ事が出来ないのですが、どうしたら元に戻るのでしょうか? よろしくお願いします。

専門家に質問してみよう