Excel VBAの参照設定で「MISSING」と表示されると、マクロが正しく動作しなくなります。このエラーは、参照しているライブラリ(DLLやOCX)のバージョンが異なる、または該当ライブラリがインストールされていない場合に発生します。特に会社のPCでは、他のユーザーが作成したマクロを共有した際に頻繁に遭遇します。本記事では、MISSINGエラーの原因を特定し、ライブラリを適切に確認・修正する方法を、具体的な手順とともに解説します。
【要点】この記事で確認すること
- 最初に見る場所: VBAエディタの「参照設定」ダイアログ。MISSINGと表示される項目を特定します。
- 切り分けの軸: 端末側のライブラリ不足か、バージョンの不一致か、参照パスの変更かを確認します。
- 注意点: 会社PCでは管理者権限が必要なライブラリ追加やレジストリ変更は避け、IT部門に連絡してください。
ADVERTISEMENT
MISSINGエラーが発生する主な原因
MISSINGエラーは、VBAが参照する外部ライブラリが何らかの理由で利用できなくなったときに発生します。原因として最も多いのは、ライブラリのバージョン不一致です。例えば、開発環境では「Microsoft Scripting Runtime 5.8」を使用していたが、実行環境には「5.7」しかインストールされていない場合、参照設定がMISSINGとなります。また、参照先のファイル(DLLやOCX)が削除されたり、パスが変更された場合も同様です。さらに、OfficeのバージョンアップやWindows Updateによってライブラリの仕様が変わることもあります。これらの原因を理解することで、対処の方向性が決まります。
バージョン不一致によるMISSING
同じライブラリでも、バージョンが異なればGUID(グローバル一意識別子)が変わります。参照設定ではGUIDとバージョン情報が保存されているため、実行環境のライブラリバージョンが異なるとMISSINGと判断されます。特に、ActiveXコンポーネントやOffice関連のライブラリ(例: Microsoft Forms 2.0 Object Library)で発生しやすいです。
ライブラリそのものの欠落
特定のアプリケーションに依存するライブラリ(例: Adobe AcrobatのPDFライブラリやサードパーティ製のCOMコンポーネント)がインストールされていない場合、参照設定がMISSINGになります。また、64bit版Officeで32bit版専用のライブラリを参照しているケースも該当します。
参照設定を確認する手順
以下の手順で、VBAエディタの参照設定を確認し、MISSINGの原因を特定します。
- Excelを開き、Alt + F11 キーを押してVBAエディタを起動します。
- メニューから [ツール] → [参照設定] をクリックしてダイアログを開きます。
- 参照設定一覧の中から、先頭に「MISSING:」と表示されている項目を探します。これが問題のライブラリです。
- MISSING項目をクリックして選択し、ダイアログ下部の「参照先」欄に表示されるパスをメモします。このパスが存在するか確認します。
- 該当ライブラリがインストールされているか調べます。例えば、C:\Windows\System32 や C:\Windows\SysWOW64 配下に該当DLLがあるか確認します。
- もしライブラリが別のバージョンで存在する場合、参照設定のチェックを外し、一覧から正しいバージョンを探してチェックを入れ直します。一覧にない場合は「参照」ボタンから該当ファイルを直接指定することも可能です。
- 修正後、一度参照設定のダイアログを閉じ、再度開いてMISSINGが消えたことを確認します。マクロを実行してエラーが出ないかテストしてください。
なお、参照設定の変更はVBAプロジェクトの他の部分に影響を与える可能性があるため、変更前には必ずバックアップを取ってください。
主な参照ライブラリとその役割の比較
よく使用される参照ライブラリと、その役割、MISSINGが発生しやすい状況を以下の表にまとめました。
| ライブラリ名 | 役割 | MISSINGが起こりやすい状況 |
|---|---|---|
| Microsoft Scripting Runtime | ファイルシステムオブジェクト(FSO)の提供 | バージョン違い(5.8→5.7など) |
| Microsoft Forms 2.0 Object Library | ユーザーフォームのコントロール | Officeのバージョンアップ時に旧バージョンが無効になる |
| Microsoft Common Controls (MSCOMCTL.OCX) | ツリービュー、リストビューなどの拡張コントロール | 64bit Officeでは使用不可(32bit版のみ) |
| Microsoft ActiveX Data Objects (ADO) | データベース接続 | バージョン違いや、別のMDACバージョン |
この表を参考に、MISSINGとなっているライブラリの性質を把握し、適切な対処を行ってください。
ADVERTISEMENT
失敗しやすいパターンとその対策
MISSINGエラーへの対処でよくある失敗を事前に知っておくと、無駄な手間を省けます。
参照設定を外すだけで凌ごうとする
MISSING項目のチェックを外してエラーを消そうとする方がいますが、そのライブラリに依存するコードが動かなくなるため、別のエラーが発生します。必ず正しいライブラリに再設定するか、コードを修正する必要があります。
64bitと32bitの混在
64bit版Officeでは、32bit専用のOCXやDLLを参照できません。もし参照設定に32bitライブラリが含まれているとMISSINGになります。この場合、64bit対応の代替ライブラリを探すか、Declareステートメントで代用する必要があります。なお、会社PCではOfficeのビット数を勝手に変更できないため、IT部門に相談してください。
管理者に伝えるべき情報
会社のPCでMISSINGエラーが発生した場合、自分でレジストリを編集したり、システムフォルダにファイルをコピーするのは危険です。以下の情報をまとめて、IT部門や管理者に伝えるとスムーズです。
- エラーメッセージのスクリーンショット(MISSINGと表示されている部分)
- VBA参照設定ダイアログのスクリーンショット(全体)
- ExcelとOfficeのバージョン(ファイル → アカウント → Excelのバージョン情報)
- 問題のブックが動作していた環境(例: 以前はWindows 10+Office 2016で動いていた)
- 使用しているライブラリの一覧(参照設定で全て表示)
管理者はこれらの情報をもとに、ライブラリのインストールやバージョン調整を行えます。特に、業務で必要なライブラリが標準インストールされていない場合は、追加の展開を依頼できます。
よくある質問
MISSINGの参照設定を無視してマクロを実行しても大丈夫ですか?
無視すると、そのライブラリが提供するオブジェクトや関数が使えなくなり、実行時に「ユーザー定義型は定義されていません」などのエラーが発生します。必ず修正してください。
一覧に正しいライブラリが見つからない場合はどうすれば?
該当ライブラリがPCにインストールされていない可能性があります。参照設定ダイアログの「参照」ボタンから手動で該当ファイルを指定する方法もありますが、ファイル自体がない場合はインストールが必要です。管理者に依頼してください。
参照設定を新しいバージョンに変更しても問題ありませんか?
通常は問題ありませんが、互換性がない場合は新バージョンで廃止されたメソッドなどがあるため、コードの修正が必要になることがあります。変更後は必ず動作確認を行ってください。
まとめ
VBAの参照設定でMISSINGが発生した場合、まずはどのライブラリが対象かを特定し、バージョン不一致やライブラリ欠落の有無を確認します。自分で解決できない場合は、管理者に正確な情報を伝えて対処を依頼しましょう。参照設定を安易に外すのではなく、正しいライブラリに置き換えることが重要です。本記事が、MISSINGエラーの解決に役立つことを願っています。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
