:Excel VBA中未定义的用户定义类型(2个快速解决方案)

  • Share This
Hugh West

我们在工作中面临的最常见的错误之一是 VBA 在这篇文章中,我将告诉你为什么会出现这种错误以及如何解决这个错误。

下载实践工作手册

下载这本练习手册,在阅读本文时进行练习。

用户定义的未定义的类型.xlsm

2 原因和解决方案 在Excel VBA中未定义的用户定义的类型

2 在Excel中经常遇到的这个错误背后的主要问题 VBA 让我们详细探讨这些问题并找出解决问题的方法。

1.声明变量时的拼写错误

这是该错误背后的主要原因。 大多数时候,该错误 "用户定义的类型未被定义" 是由于声明变量时的拼写错误造成的。

请看以下几行代码。

 Sub User_Defined_Type_not_Defined() Dim Name As Strng Name = "ExcelWIKI" MsgBox Name End Sub 

如果你运行这段代码,你会得到一个错误框,通知你存在的错误 "未定义的用户定义类型"。 随着它的出现,你会发现代码的第二行以蓝色突出显示,我在那里写道 "strng" 代替 "字符串" .

我希望你能明白这一点。 VBA 无法识别变量类型 "strng" 但当它发现你没有在任何地方声明它时,就会产生一个错误。

因此,在运行简单的 VBA 代码,如果你无论如何遇到这个错误,首先要检查你的变量类型的所有拼写。

2.缺乏适当的参考资料

这是该错误背后的另一个原因。 这就是缺乏正确的引用。 有时我们在代码中使用一些对象,需要从以下方面进行正确的引用 Visual Basic参考框 ...否则。 VBA 不认识这个对象。

请看以下内容 VBA 代码。

 Sub User_Defined_Type_not_Defined() Dim MyDictionary As Dictionary Set MyDictionary = CreateObject("Scripting.Dictionary" ) End Sub 

运行这段代码,你会得到同样的老错误 "未定义的用户定义类型"。 突出强调 字典对象 这是因为 VBA 无法识别 字典对象 ,并认为它是一个用户定义的变量,没有被错误地定义。

现在最大的问题是,如何解决这个错误? 很简单,有以下几点 2 解决这个错误的方法。

⧪ 解决方案1:从Visual Box参考框中检查先决条件参考。

这是解决这个问题的最聪明的方法。 转到 工具> 参考资料 中的按钮。 视觉基础 色带。 点击 参考文献 .

一个名为的对话框 参考文献 将打开。 滚动并找到 微软脚本运行时间 (这取决于你所使用的对象。 字典对象 需要 微软脚本运行时间 因此,在使用一个对象时,在一个 VBA 代码,你必须知道它的先决条件,以被 VBA。 请访问此链接了解更多信息。)。 检查一下。

现在回来运行代码,你将不会得到任何错误。 因为 VBA 可以识别 字典对象 这一次。

⧪ 解决方案2:将其作为一个纯对象而不是一个特定对象来声明

还有一个方法可以解决这个问题。 你可以把对象声明为一个纯对象,而不是一个 字典对象 .

注意以下几行代码。

 Sub User_Defined_Type_not_Defined() Dim MyDictionary As Object Set MyDictionary = CreateObject("Scripting.Dictionary" ) End Sub 

在这里我声明了一个变量 我的字典 作为一个简单的对象,而不是一个 词典。 现在,如果你运行这段代码,你将不会得到任何错误。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.