Excel VBA用户定义的类型未定义-

hjh93

我正在尝试创建一个Excel程序,该程序可以使用VBA在同一文件内将数据从sheet1传递到sheet2。但是当我声明ADODB时,它没有出现在下拉列表中。当我尝试运行sub时,出现“用户定义的类型未定义”错误。任何人都可以与我分享任何修复程序吗?

代码如下:

Sub testsql()

'declare variable
Dim objMyConn As ADODB.Connection
Dim objMyCmd As ADODB.Command
Dim objMyRecordSet As ADODB.Recordset

Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordSet = New ADODB.Recordset

'open connection
objMyConn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & wbWorkBook & ";Extended Properties=Excel 8.0;"
objMyConn.Open

'set and execute command
Set objMyCmd.activeconnection = objMyConn
objMyCmd.CommandText = "select top 10000 [Die No], Description from DieMaintenanceEntry"
objMyCmd.CommandType = adcmdtext


'open recordset
Set objMyRecordSet.Source = objMyCmd
objMyRecordSet.Open

'copy data to excel
ActiveWorkbook.Sheets("Display-Die Maintenance Summary").ActiveSheet.Range("A5").CopyFromRecordset (objMyRecordSet)

End Sub
L42

您可以通过两种方式解决此问题:

  1. 早期绑定(如您的代码所提示)
    ,您需要参考正确的Microsoft ActiveX Data Object对于我的版本,它是6.1

    参考资料库

  2. 使用后期绑定(无需参考库)

    Dim objMyConn As Object '/* Declare object type variable */
    Dim objMyCmd As Object
    Dim objMyRecordset As Object
    
    '/* Set using create object */
    Set objMyConn = CreateObject("ADODB.Connection")
    Set objMyCmd = CreateObject("ADODB.Command")
    Set objMyRecordset = CreateObject("ADODB.Recordset")
    

至于使用哪个,我只能提出建议。在开发过程中,可利用Early Binding来利用Intellisense在部署时,进行更改以Late Binding克服版本兼容性问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何修复编译错误:从Outlook使用Excel VBA时未定义用户定义类型?

后期绑定编译错误:未定义引用Excel VBA中的Outlook mailitem的用户定义类型

使用VBA OpenRecordset从Access Query到Excel的用户定义函数(UDF)失败-未定义函数

VBA 用户定义类型未定义

VBA“未定义用户定义类型”

Excel VBA中的错误451(属性让过程未定义...)

VBA Excel 中的编译错误“未定义变量”

EXCEL VBA 用户定义函数 - 为什么我在定义它的工作簿中使用它时会收到错误“函数未定义”?

尝试从Excel电子表格中的数据生成电子邮件,出现编译错误“未定义用户定义的类型”

VBA Excel:用户定义的功能

错误115类型'Excel.IExcelDataReader'未定义

使用范围变量时未定义 Excel vba 变量

调用未定义的方法 Maatwebsite\\Excel\\Excel::selectSheetsByIndex()

调用未定义的方法Maatwebsite \ Excel \ Excel :: load()

调用未定义的方法Maatwebsite \ Excel \ Facades \ Excel :: download()

Excel VBA“类型不匹配:预期为数组或用户定义的类型”

在 Excel Vba 中循环用户定义的范围

Excel VBA定义标准用户输入字段

在 Laravel excel 中导入时路由未定义

未定义索引:描述-上传Excel文件

Laravel Excel ErrorException 未定义偏移量:0

VBA中未定义的文档类型

VBA声明未定义的类型变量?

VBA“未定义用户定义的类型” Outlook编译错误

问题与 VBA 代码抛出“用户定义类型未定义”错误

将表转换为ARFF的VBA程序返回“未定义用户定义类型”

对声明为 Document 的 xDoc 的引用在 PowerPoint VBA 中生成“未定义的用户定义类型”

VBA 的 DLL 声明行中的编译器错误“未定义用户定义的类型”

用户定义的类型未定义的Windows 10