【发布时间】:2015-12-08 03:54:45
【问题描述】:
我正在尝试将工作表从 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
【问题讨论】:
-
您需要添加对 Access Application 对象库的引用。 ADO 和 Access 不是一回事。
-
@TimWilliams 感谢您的回复。回复晚了,因为我不得不休年假。这解决了问题,但现在它无法识别“CompleteNoFormat3”工作表,而是传输第一个工作表
标签: vba ms-access-2007 excel-2007