0
我正在尝试将工作表从Excel 2007导出到Windows 7上的Access 2007,包括创建一个新表格。我在Excel中尝试过以下VBA,但它声明“编译错误用户定义类型未定义”,然后突出显示Access对象的第一个变量声明。我有Microsoft ActiveX数据对象6.1库引用。什么是“编译错误用户定义类型未定义”?
出了什么问题?
Dim acc As New Access.Application
Dim ws As Worksheet
Dim ThisWorkbook As Workbook
Dim a As Long
Dim b As Long
Set ThisWorkbook = ActiveWorkbook
Set ws = ThisWorkbook.Sheets("CompleteNoFormat3")
a = ws.UsedRange.Rows.Count
b = ws.UsedRange.Columns.Count
acc.OpenCurrentDatabase "CustDB.mdb"
acc.DoCmd.TransferSpreadsheet _
TransferType:=acImport, _
SpreadSheetType:=acSpreadsheetTypeExcel12Xml, _
TableName:="CustExportTable", _
Filename:=Application.ActiveWorkbook.FullName, _
HasFieldNames:=True, _
Range:="BAPCompletNoFormat$A1:" & a & B
acc.CloseCurrentDatabase
acc.Quit
Set acc = Nothing
您需要将引用添加到应用程序的访问对象库。 ADO和Access并不是一回事。 –
@TimWilliams感谢您的回复。迟到的答复,因为我不得不休年假。这解决了这个问题,但现在它不识别“CompleteNoFormat3”工作表,而是转移第一个工作表 – mjhenry