Excelファイルを自宅で修正後に発生したエラーについて

このQ&Aのポイント
  • 会社で作成したExcelファイルをUSBで自宅に持ち込み、VBAを修正した後、会社のパソコンで起動した際に「非表示モジュール内でコンパイルエラーが発生しました」というエラーメッセージが表示されました。
  • 修正を試みると、「DLL読み込み時のエラーです」というエラーメッセージが表示され、修正と保存ができませんでした。
  • 同じトラブルが再発することを避けるために、解決策を探しています。OSは会社がXPで自宅がVista、Excelのバージョンはどちらも2003です。
回答を見る
  • ベストアンサー

会社で作成したexcelのファイルを、USBで自宅に持ち込んでVBAを

会社で作成したexcelのファイルを、USBで自宅に持ち込んでVBAを修正したのですが翌日会社のパソコンで起動すると、「非表示モジュール<・・・・>内でコンパイルエラーが発生しました。」とのエラーメッセージが出ました。マクロを無効にして開きコンパイルを実施したところ数箇所つまづき、これを修正しました。再度開くとマクロは動いてくれるのですが、コードを修正しようとしたところ今度は「DLL読み込み時のエラーです」となり、修正が出来ませんでした。又、保存も出来ませんでした。バックアップは取ってあったので修正しようと思いますが、同様の事が起きると困るので先に解決したいと思います。改善の方法はありませんか。OSは会社が「XP」自宅が「Vista」です。excelはどちらも2003ですが、今回のトラブルは初めてです。宜しくお願いします。

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

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

たぶん、RefEditコントロールを使っていて 自宅がOffice2003 SP3で 会社がOffice2003 SP2以下である またはOffice 2000/2002/2007とOffice2003SP3が    同時にインストールされている ではないですか? 会社のPCでOffice2003 SP3を適用あるいは再適用すると 直る可能性が高いと思います。 http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips08.htm#S6 とかも参考にしてみてください。

achilles46
質問者

お礼

ありがとうございました。 確かに、会社のパソコンには旧バージョンもインストールされています。また、リンク内を確認しましたが、同じく(Format(Date,"yyyy/m/d"))のDateとRefEditがコンパイルの再に引っかかりました。 適用・再適用の意味が良くわかりませんがなんとかやってみます。非常に参考になりました。

その他の回答 (2)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

直接の原因は「参照設定」で使用している オブジェクトが「自宅」と「会社」で異なる、 あるいはどちらかに無いことが原因です。 しかし、プログラム云々より、保安上の問題が あります。ソフトデータを自宅へ持ち帰ったり、 自宅にあるデータを持ち込んだりはプロなら、 即刻、クビです。情報の扱いを生業としている 人はそういう教育(最近、特に喧しくなった)を 受けるはず。もう、やらない方が良いでしょう。

achilles46
質問者

お礼

ありがとうございます。 nda23さまのおっしゃる通りです。来週の会議資料で参考に作っているものですから急ぎ自宅に持ち込みました。ご助言ありがとうございました。

  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

何か「参照設定」して事前バインディングしてますか? その場合、CreateObject関数を使った実行時バインディングにコードを変更して様子をみたらどうでしょう。

achilles46
質問者

お礼

回答ありがとうございました。 頂いた回答の中から、どうも「Office2003 SP3」と旧バージョンの関係のようです。 end-u様の回答も勉強させてもらいます。

関連するQ&A

  • EXCEL2003VBAを2010上で開発できる?

    会社のPCで、EXCEL2003が搭載されており、EXCELブック何冊かでマクロを<互換モード>で開発して動かしています。 その上で動かしたいマクロを、自宅のEXCEL2010搭載のPCで開発するには、EXCEL2003を載せるしかないんですか? DATE関数(帰り値が違う)でエラーが出たり、読み込み専用ブックになったり2010では動かせないんですが。2010用に直したら、会社の2003では動かせないですし。 一つのPCにEXCELのヴァージョンの違うのを二つ載せるのも、問題が多いと聞いています。

  • Excel:VBAに関して

    バグがある標準モジュール(.bas)がぶら下がっていて、それをバグ修正したモジュールに切り替えたいのです。バグあるモジュールをエクスポートして、新規に改修したモジュールをインポートすれば良いのでしょうが、本数が多くて困ってます。 複数のExcelファイルを対象に、モジュールの入れ替えを行うのに何か良い案はありますでしょうか? Excel VBAでできれば良いのでしょうが、、マクロでそんなことできませんよね・・・?

  • Excel2007VBAでコンパイルエラー

    EXCEL2000ので動作していたVBAのプログラムをEXCEL2007で動かしたら、CHRの命令でコンパイルエラー、プロジェクトまたはライブラリーが見つかりませんとメッセージが出てしまいます。 (Excel2007の設定は初期値のままです) CHRの命令行をコメントにして先へ進ませると今度は、Leftの命令で同じエラーが発生します。 又、VBAProjectのコンパイルを実行するとFormatの命令で同じエラーがでます。 何かアドインのモジュール設定が足りないと思っていますが、何が足らないのかわかりません。 ご存知の方は解決方法を教えて下さい。 宜しくお願い致します。

  • win8.1でwinXPで作成 .XLSのファイル

    win8.1でwinXPで作成したEXCEL .XLSのファイルを開くと モジュールが有りませんのエラーになり修正し開くと マクロがないBOOKが開きます WIN7では開けていました どこをどうすれば マクロを含むBOOKが正常にひらくことができますか お教え下さい。

  • Excel2007でVBAで作成した線に影が付いてしまいます。

    Excel2007でVBAで作成した線に影が付いてしまいます。 Excel2007で線のオブジェクトに影が付いてしまいます。 影というか二重線というか・・・。 会社ではExcel2000を使用し、自宅では2007を使用しています。 VBAで図面を作成するマクロを作ったのですが、2007では図面の線が二重になってしまいます。 また、自宅の2007で線分を引くと、影(二重線)がついてしまいます。 その他に影(二重線)を設定しているものは無く、突然起こりました。 何か対策や解決法をご存じの方がおられましたら、アドバイスよろしくお願いいたします。 デフォルト設定でもVBAでの対策でも、どしどしお願いいたします。m(_ _)m

  • Left$関数がExcel VBAで使えません。

    Excel2000でVBAを使っています。 Left$関数を使いたいのですが、 コンパイルエラーがでて 「プロジェクトまたはライブラリが見つかりません。」 と出ます。 VBAは初心者なので、どうしたらよいか分かりません。 どなたか、ご教授ください。 よろしくお願い致します。

  • 会社と自宅で開かない

    会社でワード使っていたのですが 自宅に帰宅してワードをひらこうとしても 開かないで、マクロを無効にするとか 有効にする でて、エラーを報告するとかでるのです が結局ひらけにのですが、なぜでしょうか ワードの最新版が自宅には入っていて 会社のは2年前からのでちょっと違うのですが 助けてください

  • Excel2002VBA「~のときは○○、そうではないときは何もしない」

    VBA初心者です。環境は、Excel2002で、Windows2000です。 VBAで、下記のようにしたいのですが、どうしてもいい方法を思いつきません。 どなたか、ご指導願います。 マクロ実行時にSheet2があるときは、Sheet2を削除。 ただし、ないときには何もしないで、次の処理へとぶ。 On Error GoTo を利用するのでしょうか? けれど、エラー処理へとんだ場合、どう処理したらいいのか分かりません。 どうぞよろしくお願いします。

  • Excel2011のVBAについて教えてください。

    初めて質問します。 Excel2011forMACでVBAを使いBOOKを指定してクローズさせたいのですが、 エラー1004が起こりファイルを閉じることができません。 作成したVBAは以前にWindowsXP、Excel2000で作成したものを修正したものだったためなのではないかと思い、 改めてExcel2011forMACで下記ように、コマンドボタンをクリックすると"test.xlsx"を閉じるだけのテストを行いましたが同じエラーが発生します。 Private Sub CommandButton1_Click() Windows("test.xlsx").Close  End Sub 実行すると『実行時エラー'1004' _ オブジェクト'Close'のメソッド'Window'が失敗しました。』となります。 ちなみに、WindowsをWorkbooksにしても同様のエラーが発生しました。 Workbooksではファイルを指定しなければエラーは発生しないのですが、できれば1つのファイルを開いた状態にしておきたいと思っています。 このエラーの解消方法を教えていただけませんか。 それとも、MACでは個別にファイルを閉じることはできないのでしょうか。 Excel2011を使っているMAC OS Xのバージョンは10.6.7です。 VBAについては、初心者レベルで常にヘルプとマクロの記録を頼りになんとか作成しています。さらに、MACでVBAを使ったのが初めてで、この事象が一般的に知られていることなのかわかりません。いろいろ調べて同じような事例が見つけられなかったので質問させていただきます。 よろしくお願いします。

  • ボタンを押すとファイルが見つかりませんVBA6.DLLのエラーとなる

    EXCEL2000の画面にボタンを配置し、クリックするとVBAのモジュールが起動するようにしているのですが、昨日よりボタンを押すと「ファイルが見つかりませんVBA6.DLL」とエラーとなります。他クライアントでも同様の減少です。OSはWin98,Win2000共に同じ現象です。Webで調べたのですが原因が全くわかりません。どなたかアドバイスお願いします。

専門家に質問してみよう