首页 > Excel > Excel VBA“找不到工程或库”错误解决

Excel VBA“找不到工程或库”错误解决

2009年6月1日

前不久用Excel VBA给采购部做了个“供销存管理系统”,结果在采购部的电脑上运行出现“找不到工程或库”的错误,一般情况下,出现此错误是因为找不到引用工程,或找不到与工程语言对应的引用的对象库,还有就是安装Office精简版也会出现此类错误,解决方法:1、在VBE窗口中选择出错的VBA工程,快捷键:ALT+F11
2、在【工具】【引用】打开引用对话框
3、查找带勾项中含“丢失…”、“找不到…”、“MISSING…”的条目,并取消勾选!
4、一般情况下,用第3步即可解决,如问题依旧,请在“可用的引用”中查找并勾选与丢失的条目类似的引用(一般除版本号不同,其它名称相同,如有多个版本,请选择最高版本)
如果还不能解决,可能是电脑中缺少控件或对象库,需要下载控件并注册,后返回上面步骤解决!

Excel VBA找不到工程或库

Excel VBA找不到工程或库

——————————————————————————–
参考内置帮助文件:  

在解决丢失引用的问题前,不能运行代码。这个错误的起因与解决方法如下所示:

  • 找不到引用工程,或找不到与工程语言对应的引用的对象库。

    请在“引用”对话框中将没有解决的引用加上 MISSING 前缀。选取丢失的引用,以显示丢失的工程或对象库的路径或语言。以下是解决此问题的步骤:

解决引用的步骤

  1. 显示“引用”对话框。
  2. 选取丢失的引用。
  3. 激活对象浏览器。
  4. 使用“浏览”对话框以找寻丢失的引用。
  5. 单击“确定”。
  6. 重复以上步骤,执行解决所有丢失的引用为止。

    当您找到一个丢失的项目时,MISSING 前缀就会删除,表示链接已重新建立。若引用的工程名已经改变,就会添加新的引用,并旧的引用必须删除。 要删除那些不必要的引用,只需清除不要的引用的复选框即可。请注意,对于 Visual Basic 对象库与主应用程序对象库的引用是不能删除的. 应用程序可以支持其对象库的不同语言版本。要了解所需的语言版本,可单击该引用,选取在对话框下方指出的语言。对象库可以是扩展名为 .OLB 的独立文件,或者集成在动态链接库 (DLL)中。在每一个平台上,对象库存在不同的版本。因此,当工程被移植到另一个平台上时,例如从 Macintosh 到 Microsoft Windows,那个平台的被引用库的正确语言版本,必须在主应用程序文档所指定的位置上可用。

对象库的文件名通常以下面的方式命名:

  • Windows(3.1 版与更早):应用程序代码 + 语言代码 + [版本].OLB。例如:
    法文的 Visual Basic for applications,Version 2 的对象库为 VAFR2.OLB。
    法文的 Microsoft Excel 5.0 的对象库为 XLFR50.OLB。
  • Macintosh:应用程序名代码+ [版本]. +OLB。例如:
    法文的 Visual Basic for applications,Version 2 的对象库为 VA FR 2 OLB。
    会是法文的 Microsoft Excel 5.0 的对象库为 MS Excel FR 50 OLB。

假如不能在系统上找到丢失的工程或库,可接洽引用工程的作者。若丢失的库是一个 Microsoft 应用程序的对象库,可用下面的方式取得:

  • 假如您有 Microsoft electronic technical support services 的访问权,请参阅此帮助文件的技术支持一节。在电子服务下,将会发现如何使用适当的服务选项的介绍。
  • 假如没有 Microsoft electronic technical support services 的访问权,可参考此 Microsoft 对象库所在之应用程序的注意。关于如何接触您当地的 Microsoft 产品支持组织的信息,也能够在这个帮助文件的技术支持一节中找到。
作者: 分类: Excel 标签: ,
声明:本站遵循 署名-非商业性使用-相同方式共享 3.0 共享协议. 转载请注明转自 执子之手与子偕老
  1. mqzln
    2010年7月13日15:40 | #1

    我也出现了这个问题,按照你的方法执行了,可是‘引用’按键是灰色的,无法使用怎么办?

  2. 2010年7月15日08:42 | #2

    @mqzln
    确认工程是否设置了密码,是否设置了“以跟踪和修订方式共享”等,如果这样引用按钮会呈灰色不可用。

  3. mqzln
    2010年7月17日23:04 | #3

    已经解决了,先点 “运算-重新设置”, 再点 “工具” ,这时的 “引用项” 就是可用的了,呵呵

  4. minnie0707
    2010年12月24日21:07 | #4

    你好。我按照您的方法解决了一个丢失。第二给丢失无法取消勾选,我下载了日历控件安装后OK了。但是又出现了“运行时错误:‘424’要求对象”,代码是
    Private Sub Calendar1_Click()
    ActiveCell = Calendar1.Value
    End Sub

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column = 2 Then
    Calendar1.Visible = True
    Calendar1.Top = Range(“a1″, ActiveCell).Height
    Calendar1.Left = Range(“a1″, ActiveCell).Width
    Else
    Calendar1.Visible = False
    End If
    End Sub
    请问该怎么解决啊?我的邮箱minnie0707@126.com
    希望得到您的帮助。谢谢!

  5. 2010年12月25日09:56 | #5

    @ minnie0707
    将日历控件放在UserForm1中,
    正确代码如下:
    Worksheet1中的代码:

    ‘这段可以不要,目的是双击单元格可以改变日期,为了修改原有的日期方便。
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 2 Then UserForm1.Show
    End Sub

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 2 Then UserForm1.Show
    End Sub

    Calendar1的代码:
    Private Sub Calendar1_DblClick()
    ActiveCell = Calendar1.Value
    UserForm1.Hide
    End Sub

    另外你的Calendar1.Top = Range(“a1″, ActiveCell).Height这句写法也是错的,正确应该是:
    Calendar1.Top = ActiveCell.Height
    但这里,我想可以用不着吧

  6. minnie0707
    2010年12月25日14:42 | #6

    替换了但是“引用失效”。给你回邮件了。

  7. 专有名称
    2011年11月11日17:37 | #7

    很感谢,按照你的方法,解决了问题;

  1. 本文目前尚无任何 trackbacks 和 pingbacks.