access 使用vba 导入Excel
时间: 2024-03-13 13:44:11 浏览: 19
以下为将 Excel 文件中的数据导入到 Access 数据库的 VBA 代码示例:
```
Sub ImportDataFromExcel()
Dim objAccess As Object
Dim objExcel As Object
Dim db As Object
Dim rs As Object
Dim strSQL As String
Dim strFilePath As String
Dim strSheetName As String
' 设置要导入的 Excel 文件路径和工作表名
strFilePath = "C:\Users\username\Documents\example.xlsx"
strSheetName = "Sheet1"
' 创建 Access 和 Excel 对象
Set objAccess = CreateObject("Access.Application")
Set objExcel = CreateObject("Excel.Application")
' 打开 Access 数据库文件
objAccess.OpenCurrentDatabase "C:\Users\username\Documents\example.accdb"
' 打开 Excel 文件并选择要导入的工作表
objExcel.Workbooks.Open strFilePath
objExcel.Sheets(strSheetName).Activate
' 导入 Excel 数据到 Access 数据库
strSQL = "INSERT INTO myTable (field1, field2, field3) VALUES (?, ?, ?)"
Set db = objAccess.CurrentDb
Set rs = db.OpenRecordset(strSQL)
Do Until objExcel.ActiveCell.Value = ""
rs.AddNew
rs.Fields("field1") = objExcel.ActiveCell.Value
rs.Fields("field2") = objExcel.ActiveCell.Offset(0, 1).Value
rs.Fields("field3") = objExcel.ActiveCell.Offset(0, 2).Value
rs.Update
objExcel.ActiveCell.Offset(1, 0).Activate
Loop
' 关闭对象
rs.Close
Set rs = Nothing
Set db = Nothing
objExcel.Quit
objAccess.CloseCurrentDatabase
Set objExcel = Nothing
Set objAccess = Nothing
End Sub
```
在上述代码中,需要将 `C:\Users\username\Documents\example.xlsx` 替换为你的 Excel 文件路径,将 `Sheet1` 替换为你要导入的工作表名,将 `myTable` 替换为你要导入数据的目标表名,并根据需求修改要导入的数据列名和数据类型。此外,你还可以根据需求修改导入的数据范围和格式。