【VBA】「ユーザー定義型は定義されていません。」エラーの対処方法

ExcelのVBA(マクロ)で、「コンパイルエラー ユーザー定義型は定義されていません。」エラーの対処方法についてまとめました。

エラーの対処方法①ライブラリの参照設定を確認

ExcelのVBA(マクロ)で、ライブラリ(組み込み定数)を使うためには、参照設定を行う必要があります。
コンパイルエラー ユーザー定義型は定義されていません。」というエラーが出た場合は、必要なライブラリが参照(組み込み定数が定義)されていない可能性があります。
参照設定のやり方は以下のとおりです。

① VBEのメニューから[ツール]→[参照設定]をクリックします。

②[参照設定-VBAProject]ダイアログの[参照可能なライブラリファイル]欄から、使いたい組み込み定数にチェックを入れて[OK]をクリックします。

上記はWordのライブラリを参照設定している例ですが、目的ごとに必要な型や定数、関数などが異なりますで、必要なものを参照設定しましょう。
なお、他によく使うライブラリとしては、以下があります。

Microsoft Scripting Runtime ← ファイルやフォルダ操作するのに使う
Microsoft Outlook 16.0 Object Library ← Outlookを操作するのに使う

対処方法②型指定が誤っていないか確認

上記の対処方法で解決しなかった場合、変数の型指定が誤っている可能性があります。
以下のように、型名が誤っていないかなど確認しましょう。

Sub myFunc()
 
    Dim lngGoukei As Int  '← 「Integer」が正しいが、「Int」となっている
 
End Sub
 

対象方法③型定義がPrivateで宣言されている他のモジュール内にある

Privateで宣言している場合、型定義が他のモジュールにある可能性があります。
Privateで宣言されているモジュール内にある変数は、そのモジュール内でしか使えませんので、Public宣言に修正しましょう。

関連ページ

【VBA入門】基礎から作業自動化の応用例まで解説
VBA(マクロ)で様々な処理を自動化する方法をサンプルコード付きで入門者向けにまとめました。

コメント