能否使用VBA从Excel中仅导入第二张工作表以访问

能否使用VBA从Excel中仅导入第二张工作表以访问,vba,excel,Vba,Excel,您能否使用VBA仅从Excel导入第二张工作表以访问?!我在谷歌上搜索了一下,没有找到确切的答案 这是我正在努力工作的代码 strPathFile = Fil objXL.Visible = True Set wkb = objXL.Workbooks.Open(strPathFile) For Each wks In wkb.Worksheets If wkb.wks = wkb.Sheet(2) Then DoCmd.TransferSpreadsheet acIm

您能否使用VBA仅从Excel导入第二张工作表以访问?!我在谷歌上搜索了一下,没有找到确切的答案

这是我正在努力工作的代码

strPathFile = Fil

objXL.Visible = True
Set wkb = objXL.Workbooks.Open(strPathFile)
For Each wks In wkb.Worksheets
    If wkb.wks = wkb.Sheet(2) Then
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames
    End If
Next

我试图从一堆Excel文件导入数据,总是从文件中的第二张工作表导入数据,但每张工作表都有不同的名称。

事实证明,我遗漏了两件事

1)  wks.Index = 2

2)  NeedThisSheet = wks.Name & "!"
这是代码snippit

strPathFile = Fil

objXL.Visible = True
Set wkb = objXL.Workbooks.Open(strPathFile)
For Each wks In wkb.Worksheets
    If wks.Index = 2 Then
        NeedThisSheet = wks.Name & "!"
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames, NeedThisSheet
    End If
Next
wkb.Close

谢谢大家

事实证明,我遗漏了两件事

1)  wks.Index = 2

2)  NeedThisSheet = wks.Name & "!"
这是代码snippit

strPathFile = Fil

objXL.Visible = True
Set wkb = objXL.Workbooks.Open(strPathFile)
For Each wks In wkb.Worksheets
    If wks.Index = 2 Then
        NeedThisSheet = wks.Name & "!"
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames, NeedThisSheet
    End If
Next
wkb.Close

谢谢大家

sheets(2).name
将为您提供工作表名称。。。除了
.name
之外的其他限定符应该可以让您使用此Excel VBA访问其他命令/属性?还是访问VBA?(我不认为Excel有一个
DoCmd
语句。)Access VBA的参数比您使用的要多。其中之一是
范围
。您可以使用它指定要导入的范围(包括sheetname?)。我本来打算发布一个这样的答案,但我没有足够的Access VBA经验,无法让测试正常进行。
sheets(2)。name
将为您提供工作表名称。。。除了
.name
之外的其他限定符应该可以让您使用此Excel VBA访问其他命令/属性?还是访问VBA?(我不认为Excel有一个
DoCmd
语句。)Access VBA的参数比您使用的要多。其中之一是
范围
。您可以使用它指定要导入的范围(包括sheetname?)。我本来打算发布一个关于这个问题的答案,但我没有足够的访问VBA的经验来进行测试。