我有~300个相同的Excel电子表格(.xlsx),它们都有十个不同的单元格,我想投影到Access数据库。有些是单个单元格,有几个范围 - 所有这些都在每个单独的工作簿中命名。数据库应保存同一行中同一工作表中的所有值,并且所有数字都应实时更新。
我的目标是使用访问来保持这些单元格内容的运行记录。我尝试使用以下方法将工作簿链接到Master Access数据库:外部数据 - >导入和链接 - > Excel->通过创建链接表链接到数据源 - >在这里,我会选择其中一个命名范围,然后点击“完成”,但每个电子表格只能执行一次。这使得重复此过程对所有电子表格都不可行。
有没有办法使用Access VBA为文件夹中的每个工作簿创建链接的Excel表?
我有点教自己Access,而且我仍然相对较新,所以任何见解都会有所帮助。
干杯。
答案 0 :(得分:2)
请注意,这只是使用文件名作为表名,并使用默认设置链接所有内容。更改Public Sub ImportExcel()
Dim objFSO As Object 'FileSystemObject
Dim databasefolderlocation As String
Dim objFolder As Object 'Folder
Dim objFile As Variant
Set objFSO = CreateObject("Scripting.FileSystemObject")
databasefolderlocation = Application.CurrentProject.Path 'This sets the folder, you can change it for another folder
Set objFolder = objFSO.GetFolder(databasefolderlocation)
For Each objFile In objFolder.Files
If objFile.Name Like "*.xls" Or objFile.Name Like "*.xlsx" Then
DoCmd.TransferSpreadsheet acLink, , objFile.Name, objFile.Path
End If
Next objFile
End Sub
行以进行自定义。最初我将此链接到表单,以便我可以选择要导入的内容以及如何处理。
{{1}}