使用VBA将Excel工作表导入Access

Ran*_*dal 6 ms-access vba ms-access-2007 access-vba

我正在尝试使用一些简单的VBA代码将Excel电子表格导入Access.我遇到的问题是Excel文件中有2个工作表,我需要导入第2个工作表.是否可以在VBA代码中指定所需的工作表?

Private Sub Command0_Click()

Dim dlg As FileDialog
Set dlg = Application.FileDialog(msoFileDialogFilePicker)

With dlg
.Title = "Select the Excel file to import"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Excel Files", "*.xls", 1
.Filters.Add "All Files", "*.*", 2

If .Show = -1 Then
StrFileName = .SelectedItems(1)
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "COR Daily", StrFileName, True
Else
Exit Sub
End If
End With

End Sub
Run Code Online (Sandbox Code Playgroud)

我应该将StrFileName设置为'StrFileName'&'.Worksheetname'?这是适当的命名方案吗?

就像是:

StrFileName = StrFileName & ".WorkSheetName"
Run Code Online (Sandbox Code Playgroud)

Han*_*sUp 12

使用DoCmd.TransferSpreadsheet方法的Range参数传递工作表名称.请参阅该页面底部附近标题为"范围参数中的工作表"的框.

此代码从名为"temp.xls"的工作簿中名为"temp"的工作表导入,并将数据存储在名为"tblFromExcel"的表中.

Dim strXls As String
strXls = CurrentProject.Path & Chr(92) & "temp.xls"
DoCmd.TransferSpreadsheet acImport, , "tblFromExcel", _
    strXls, True, "temp!"
Run Code Online (Sandbox Code Playgroud)