【发布时间】:2018-05-04 06:34:46
【问题描述】:
我正在尝试将 Excel 工作表导入 Access 表。 这是我的代码:
Sub test2()
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Dim fd As Object
Set fd = xlApp.Application.FileDialog(msoFileDialogFilePicker)
Dim selectedItem As Variant
If fd.Show = -1 Then
For Each selectedItem In fd.SelectedItems
Debug.Print selectedItem
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "POR", selectedItem, True, "POR Plan!A1:Z100"
Next
End If
Set fd = Nothing
xlApp.Quit
Set xlApp = Nothing
End Sub
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "POR", selectedItem, True, "POR Plan!A1:Z100" 行出现错误。当我没有指定范围并省略“POR Plan!A1:Z100”时,它会占用我的 excel 工作簿中的第一个工作表并且工作正常。 但我想获得 POR 计划工作表。
【问题讨论】:
-
在工作表/范围的末尾添加美元符号,例如
POR Plan!A1:Z100$. -
顺便说一句,您不需要
xlApp来执行此任务。 -
@KostasK。添加了美元符号。但它返回错误:microsoft access 数据库引擎找不到对象“Por Plan!A1:Z100$”
-
您可以为
A1:Z100范围命名,例如“ImportRange”,然后使用 TransferSpreadsheet 中的名称。 -
现在可以使用了。谢谢!