2016-08-31 1 views
0

私は自分のコンピュータでユーザ定義関数を開発し、その文書をXLSMとして保存しました。会社の他のユーザーに配布すると、ブックを開いて「マクロを有効にする」と「プロジェクトやライブラリが見つかりません」というエラーが表示されます。彼らはDebugをヒットした場合EXCELユーザ定義関数 - MISSING参照なしでプロジェクトまたはライブラリを見つけることができません

、黄色い線は、私がツールにチェック次に、この

Error on the first line

のように、ユーザー定義関数の先頭行に分類されます - VBEのリファレンスが、中に欠けているものを見つけていませんすべてのコンピュータ(私と他のユーザー)。

しかし、リファレンスは、私のコンピュータで

少し差である、それは他のユーザのコンピュータで

Reference in Developer's Computer

あり、それは

Reference in other user

です違いは強調表示された行だけです。私のコンピュータではExcel 2013でProject 2016をインストールしたので、Microsoft office 16.0 Object Libraryです。他の人は15.0です。

ちなみに、「マクロを有効にする」ボタンをクリックすると、エラーメッセージが無限に表示され、VBEの参照にはアクセスできなくなるため、上記の画像が表示されます。したがって、実際にコードが実行されているときにMISSING参照が存在する可能性があります。

答えて

2

この問題は、さまざまなバージョンのMicrosoft Office Object Libraryによって発生している可能性があります。

VBAコードをエクスポートし、xlsmファイル内のVBAモジュールを削除してから、VBAコードをユーザーのコンピュータに再挿入することができます。通常、問題は解決されます。

この問題が発生する理由は、実際にExcelがVBAのコンパイル済みコードを保存しているためです。ただし、コンパイル済みコードまたはコンパイル済みパッケージは表示されません。他のユーザーがMacros Enabledファイルを開くと、Excelは読み込み可能なソースコードの代わりにコンパイルされたマシンコードを自動的に実行します。マシンコードの異なるライブラリの異なるインタフェース(私はそれがインターフェイスと呼ばれると思います)のため、Excelはライブラリを見つけることができず、エラーが発生します。

XLSMファイルを配布する前に、VBAコードを逆コンパイルしてみることもできます。逆コンパイル、あなたのXLSMファイルのためのツールをダウンロードするには、このページをご覧ください:あなたは、早期バインディングあなたのコードのどこかで(私はスクリーンショットにcodepartで、この出来事は表示されません)を使用する場合 VBA Decompiler

関連する問題