编译器错误:未定义用户定义类型

2023-11-30

我在这一行收到编译时错误“用户定义的类型未定义”:

Dim cn As ADODB.Connection

可能出什么问题了?

Code:

Sub test()

    Dim cn As ADODB.Connection

    'Not the best way to get the name, just convenient for notes

    strFile = Workbooks(1).FullName
    strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
    Set cn = CreateObject("ADODB.Connection")
    'For this to work, you must create a DSN and use the name in place of

    'DSNName

    'strSQL = "INSERT INTO [ODBC;DSN=DSNName;].NameOfMySQLTable " & "Select AnyField As NameOfMySQLField FROM [Sheet1$];"
     strSQL = "SELECT F1 FROM [Sheet1$];"
     cn.Execute strSQL
End Sub

我忘记添加对“Microsoft ActiveX Data Objects 2.5 Library”的引用:此引用是必需的early binding.

如何获取该参考:

工具 > 参考 > 选中“Microsoft ActiveX Data Objects 2.5 Library”前面的复选框

其他可用的库包括:

Microsoft ActiveX 数据对象 2.6 库

Microsoft ActiveX 数据对象 2.7 库

Microsoft ActiveX 数据对象 2.8 库

Microsoft ActiveX 数据对象 6.1 库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译器错误:未定义用户定义类型 的相关文章

  • 消除多个 Elseif 语句

    我试图保持我的代码干净 特别是在用户表单中使用组合框 可能会有很多 if Elseif 语句 应该有一种更简单的方法 让一个组合框不再需要多页代码 是吗 现在如何完成的示例 Sub Example Dim Variable as Strin
  • 如何获取数据透视表的 ListObject 对象?

    这个问题最初是作为answer https stackoverflow com a 21321664 2712565作者 休 西格雷夫斯 Hugh Seagraves 关于相关问题的文章 他 想要引用一个工作表上的列表对象 表格 而另一工作
  • 正在使用的 VBA 监视文件

    我正在寻找一些东西 Win API 调用或其他 来在文件可供编辑 即不再使用 时通知我 我应该设置一个计时器来按一定时间间隔检查文件还是有一个好方法对文件设置监视 FileSystemWatcher 没有帮助 Win32 FindFirst
  • 如何在Excel中创建关系矩阵

    给定一个三元组列表 我想得到一个关系矩阵 如下所示 1 A X 1 A Y 1 B X A B C 1 B Z 1 X Y X Z 2 A Z gt 2 Z X Y 2 B X 3 Y Z 3 A Y 3 A Z 2 C Y 如何 可以在
  • 在 Python 中绘制 Excel 中的数据

    我必须从 Excel 文件中读取和绘制数据的代码是这样的 import pandas as pd import matplotlib pyplot as plt excel file file1 xlsx file1 pd read exc
  • 使用 PHP 代码和 HTML 表单将 Excel (.csv) 导入 MySQL

    我知道还有其他类似的帖子 但每个人都建议直接在 PHPMyAdmin 中将其导入 MySQL 这工作完美 但我需要通过 HTML 表单导入 PHP 到 MySQL 我想要一个收集文件的 HTML 表单 然后将该文件传递给 PHP 脚本 我想
  • Excel ISNUMBER 函数与 IF 语句

    我有一个正在使用的 Excel 文件 有一个列包含数字和文本 有时只是其中之一 我正在尝试编写一个函数来扫描单元格的最左侧部分以查看它是否以数字开头 我以为我拥有它 但显然没有 这就是我所拥有的 IF ISNUMBER LEFT E8 1
  • 通过 Excel VBA 保存并关闭 powerpoint

    下面的代码根据定义的名称创建多个图表 然后打开具有这些定义的名称的 powerpoint 文件并转储到图表中 除了最后一部分之外 一切都正常 保存并关闭文件 我已将尝试保存和关闭文件的尝试标记为绿色 任何帮助表示赞赏 Sub Slide19
  • Excel,多个 IF AND 更高效的公式

    我正在制作一个电子表格 如下所示 Index Diff Exc Sym Sec Result Criteria Met 3 42 2 07 0 86 0 92 1 83 1 95 0 38 2 93 0 87 0 23 2 01 0 09
  • VB:在 Adob​​e Illustrator、Photoshop 中分配给布尔属性

    在使用 VBA 自动化 Adob e Illustrator CS3 时 我发现分配一个布尔变量 to a 布尔属性结果总是分配 False Dim New Path As Illustrator PathItem Dim v As Boo
  • 在单元格更改时循环遍历一系列单元格,以将序列中的下一个数字显示为单元格的新值

    我了解如何循环范围 For Each cell In Range A1 A5 If condition Then End If Next 我知道 OnChange 事件 Private Sub Worksheet Change ByVal
  • 用于导出到 CSV/Excel 的数据 URI(无服务器端请求):浏览器支持/限制?

    以下问题 Javascript 或 Flash 导出至 CSV Excel https stackoverflow com questions 8150516 javascript or flash export to csv excel
  • 如何根据文本框值过滤列表框值

    我在用户窗体上有一个文本框和一个列表框 我想根据我在文本框中输入的值过滤列表框中的值 名为 TMP 的工作表具有值 我根据文本框更改事件对其进行过滤 但在将该值添加到列表框中时它 会自动退出 Private Sub Textbox1 Cha
  • VBA 写入文件时对数值进行四舍五入 - 如何防止?

    在下面的代码中 我在确保文件编写器不会将我的数字四舍五入到一定的小数位数时遇到问题 我需要使用变体 因为有时该值是字符串 有时它是数字 我怎样才能强制它准确地写出变量是什么 例如 下面的代码可能显示 0 00038 我想显示确切的值 Dim
  • 在适用于 Windows 和 Mac 的 VBA 中指定用户文件夹的路径

    我正在编写一个使用 VBA 从 Excel 生成文件的工具 生成的文件将写入用户的 Documents 文件夹中的文件夹 如果存在 e g C Users
  • VBA删除列中的单元格并根据单元格的值左移?

    如果单元格为空 如何删除 B 列 和左移 中的单元格 下面是我所拥有的 但它给出了 应用程序定义或对象定义的错误 Sub DeleteCellShiftLeft For i 1000 To 1 Step 1 If Cells i B Val
  • 在 VBA 中从范围创建数组

    我遇到了一个看似基本的问题 但找不到任何资源来解决它 简而言之 我只想将一系列单元格 所有一列 的内容加载到数组中 我能够通过以下方式完成此任务 DirArray Array Range A1 Range A2 但由于某种原因 我无法以这种
  • 检查工作表是否存在,如果不存在则创建-VBA [重复]

    这个问题在这里已经有答案了 我已经测试了许多代码 这些代码检查工作表是否存在 基于名称 如果不存在则创建一个 其中一些循环所有工作表 一些引用工作表 如果创建错误则意味着该工作表不存在 哪一种是最合适的 正统的 更快的方式来完成这个任务 目
  • openpyxl 2.4.2:保存后公式生成的单元格值为空

    我使用 openpyxl 打开文件 编辑一些单元格并保存更改 这是一个例子 import openpyxl book openpyxl load workbook sheet path sheet book active for row i
  • VBA Excel 选择以字符开头的命名范围

    我在命名范围方面遇到了一些问题 我在不同的工作表上有多个命名范围 我想用VBA隐藏或显示所有这些范围 命名范围的示例 r1 name1 另一张纸上的第二个是r1 name2 因此 所有范围都以前面相同的代码开头 r1 我如何循环遍历以 r1

随机推荐