Excel2000でVBAを使ったシートを開けない?解決方法とは

このQ&Aのポイント
  • Win98+Excel2000で作成したシートをWin98SE+Excel2000(SR1)で開けない問題が発生しています。Excel内のVBAは、VBをインストールしないと使えないのか、VBをインストールしているPCで作成したシートはVBをインストールしていないPCで開けないのか疑問があります。
  • 特定のクラス(CLASSID:{AC9F2F90-E877-11CE-9F68-00AA00574A4F})が登録されていないというエラーメッセージが表示されます。
  • McAfeeやNortonのセキュリティソフトウェアは関係ない問題です。
回答を見る
  • ベストアンサー

Excel2000でVBAを使ったシートを開けないのですが

Win98+Excel2000で作成したシートをWin98SE+Excel2000(SR1)で開けません 次のクラスは登録されていません。次のCLSIDオブジェクトを参照してください。 :{AC9F2F90-E877-11CE-9F68-00AA00574A4F} という赤バッテンが出ます。 すごく初歩的な事ですが、Excel内のVBAは、VBをインストールしないと使えないのでしょうか?(コンパイルはしました)。 逆にVBをインストールしているPCで作成したシートはVBをインストールしていないPCで開けないのでしょうか? McAfeeやNortonは関係ないですよね... よろしくお願いします。

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

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

>Excel内のVBAは、VBをインストールしないと使えないのでしょうか VisualBasicとExcelは別のアプリケーションですのでその様な事はありません。 >VBをインストールしているPCで作成したシートはVBをインストールしていないPCで開けないのでしょうか これもありません。 ただ、この様な質問になるという事は、問題のシートにはマクロが含まれていて、Win98+Excel2000のPCにはVBがインストールしてあり、Win98SE+Excel2000(SR1)のPCには無いという事でしょうか。 その場合考えられることとして、マクロに特殊なコントロール(フォームなどに貼り付けるボタンなどの事です)を使っている場合があげられます。そしてそのコントロールは元々VisualBasicの方についていたものである場合です。この様な時はVBのない方のPCではそのコントロールが利用できないのでマクロが動作しません。 あるいはマクロで何かライブラリを参照していて、シートの開かないPCではそのライブラリが無いという事も考えられます。

nenoneno
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 ご指摘の通りマクロを使用していました。更にExcel2000には別メーカのアドインが入っていました。 いろいろ試した結果、Win98SE+Excel2000(SR1)マシンのなんらかの不具合でExcel2000自体が正常に動作していなかった様子です。そのPCへVBをインストールしてボタン等のコントロールを貼り付けても正常に動作しませんでした。 やはり、コンピュータは買ってからクリーンインストールする方が良いという事が骨身にしみました。CompaqPRESARIO1200シリーズでした。 本当にありがとうございました。

関連するQ&A

  • Excel2003 起動時にエラーメッセージが出る。

    OS はWindows XP SP3 でOfiice2003を使用しています。 VB2005で作成したソフト(自分で作成)をインストール後、アンインストールすると、Excel2003 起動時に【次のクラスは登録されていません。次のCLSIDオブジェクトを参照して下さい】と言うメッセージが出るようになりました。再度、VB2005で作成したソフトをインストールすると、このメッセージ画面が出る事なくExcelは起動します。 何か解決方法はありますでしょうか。 どなたか解決方法を知っている方がいましたら、教えて頂きたいのですが。よろしくお願いします。

  • EXCEL2010 VBA シートモジュール

    EXCEL2010でVBAを使用しています。 シートモジュールを使用して特定のシートがアクティブになるとコードが実行されるようにしたいのですが、問題が一点ありまして。 特定のシートは別のコマンドを使用したときに作成されるので最初からあるシートではありません。 なのでシートモジュールにコードを入力しておくことができません。 処理の流れ 1.シートAでコマンドボタンをクリック 2.コードが実行されてシートB(特定のシート)・シートC~シートFを作成 シートが作成されると同時にシートモジュールに決められたコードを自動で入力するというような 方法はないでしょうか?

  • VBで、開いているExcelシートのアクティブセルの情報を取得

    VBのモジュールで、開いているExcelシート上のアクティブセルの座標、値を 取得するにはどうすればよろしいのでしょうか。まずVBモジュールと参照対象のExcelシートを起動します。次ににExcelシート上のあるセルを選択し、VBモジュールの[セル情報]等のボタンにより、選択されているセルの座標、値をメッセージボックスに表示したいのです。よろしくお願いいたします。

  • EXCEL2000をたちあげると、エラーがでます

    お世話になっております。 EXCEL2000をたちあげると、エラーがでます 内容は、 ダイヤログのタイトルは Microsoft visual basic で、 「次のクラスは登録されていません。次のCLSIDオブジェクトを参照してください。AC9F2F90-E877-11CE-9F68- 00AA00574A4F」 とでます。 普段はOKボタンで閉じて、普通にファイルが開けるのですが、VBAをつかったファイルは開くことができなかったのです。どうしたらよいでしょう?

  • Excel2010ワークシートが表示されない

    windows7のExcel2010でファイルを新規作成してもワークシートが出てきません。 タブや数式バー、ステータスバーなどほかの項目は出てますがワークシートが本来あるところは灰色になっています。 くわえてファイルタブ以外のタブのリボンは殆ど半透明で選択できなくなっています。 ウィンドウサイズを最大にしても出てきません。 以前似たような質問をされた方がいてその回答から ファイルタブ→「オプション」→「詳細設定」にいきましたが 「次のブックで作業するときの表示設定」、「次のシートで作業するときの表示設定」なども文字の右に「ブックを開かない」「シートを開かない」と表示されていて編集できないようになっています。 最後に使ったのは10日ほど前で、それからExcel練習用ソフトの「特打式 Excel編」をインストールして使っていたのと、 昨日FOM出版の「よくわかるマスター Excel2010 対策テキスト&問題集」をインストールして模擬試験を使いました。 以前作ったファイルはちゃんと開けてワークシートも出てきているので、新規作成した場合のみです。 すみません回答のほどお待ちしています。

  • VB2005でExcel2003とExcel2007

    初めまして、VB2005でExcelに出力するプログラムの開発を 行っているのですが、大変困っています。 どなたか教えて頂けないでしょうか。 VB2005の参照設定でMicrosoft Excel12.0 Object Library指定 してExcel2007をインストールしているパソコンでは Excelに出力できますがExcel2003を インストールしているパソコンではExcelに出力できません。 又、VB2005の参照設定でMicrosoft Excel11.0 Object Library指定 してExcel2003をインストールしているパソコンでは Excelに出力できますがExcel2007を インストールしているパソコンではExcelに出力できません。 Excel2003・Excel2007どちらがインストール されていてもExcelに出力できるプログラムを作成したいの ですが、何か方法はないでしょうか。 サンプル等があるHPがありましたら教えてください。

  • Win7Excel10→WinXPExcel03

    分かりにくいタイトルで失礼しました。 Win7のExcel2010で作成したファイルを WinXPのExcel2003で開こうとするとエラーになるようです。 (実際には いくつものシートで作成しているのですが、 超単純な表のシートだけが存在しているようになり、そのシートそのものも文字化けしています) 自宅で作成したファイル(Win7のExcel2010) → 会社(WinXPのExcel2003)で開こうとしてもダメ。 これをどうにかエラーなく開くことは可能なのでしょうか? 可能であれば、その方法をお教えください。 (もちろん、閲覧だけではなくWinXPのExcel2003で作業ができるようになりたいです) 宜しくお願いいたします。

  • EXCEL VBA  特定シート以外のシート削除

    同一のブック内に存在する複数シートのうち任意のシートのみを削除することはVBAで可能でしょうか? (例)  消したくないシート:TEMP1、TEMP2の2シート  消したいシート:1、2、3....といった連番シート (VBAで作成したシート) 環境は、WIN XP PRO でEXCEL2003を使用しています。 宜しくお願い致します。

  • PowerPointにExcel貼り付け

    PowerPointのファイルにExcelシートを貼り付ける場合、 横に長すぎると、右端がどうしても表示されないことがあります。 解決法をご存知の方、教えてください。 なお、PowerPoint、Excelとも2000SR-1 OSはWin2000Pro SP2 です。 よろしくお願いいたします。

  • VBAでワークシート関数を使用するときの注意点は

    WindowsXPのExcel2003のVBAで作った物を、別のPCで動作させたところコンパイルエラーが出て動きません。 作成段階でのTESTまでは何の不具合もなく正常なのですが、別のPCでは構文エラー(たぶん)が出るのです。 ワークシート関数の構文らしく、関数の前に"Application.WorksheetFunction."を付けていないのが原因と思われます。 質問は2つで、 1.全てのワークシート関数には"Application.WorksheetFunction."文を付けなければならないか? 2.作成PCと動作PCが違う場合、同じモジュールでも違う動作をするのか? また、その場合の原因も。 どなたかご教示下さい。 お願いします。

専門家に質問してみよう