我正在尝试将Excel电子表格动态导入到Access中。问题是,我需要导入特定的工作表(这部分已整理),但是我在导入名称逐月更改的工作表时遇到了问题。
代码示例:
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel12Xml, "MonthSales", FileName, 1, "Sales_Month!"
在"Sales_Month!"
上,我需要它是动态的。如果工作表始终具有相同的名称,则可以直接将其导入。所以我的问题是,我可以使用通配符将其导入吗?
例如:"Sales_*!"
注意:此Excel工作簿有几个工作表。
答案 0 :(得分:2)
这应该是一个简单的解决方案,使用Left
运算符在for循环中查找Excel工作表名称:
Dim xls As New Excel.Application, sht As String, Wkb As Workbook, Wksh As Worksheet
Set Wkb = xls.Workbooks.Open(FileName)
For Each Wksh In Wkb.Worksheets
if left(Wksh.Name, 6) = "Sales_" then
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel12Xml, "MonthSales", FileName, 1, Wksh.Name
Exit For
end if
Next Wksh
Wkb.Close
xls.Quit
Set Wkb = Nothing
Set xls = Nothing
Exit Sub