在Access中自动化Excel

时间:2015-09-04 21:32:05

标签: excel ms-access access-vba

我正在开发一个项目,需要在Excel中进行大量复杂的计算,但是想在Access中保留数据库。

作为一个基本示例,如果我在Access中有一个表,例如

+---------+---------+-----+
| Number1 | Number2 | Sum |
+---------+---------+-----+
|    1    |    1    |     |
|    1    |    2    |     |
|    2    |    2    |     |
+---------+---------+-----+

我想在Excel中计算Number1和Number2的每一行的总和,然后将结果放回到我的Access表中,我该怎么做呢?我是Access的新手,并且在查找此场景的示例方面非常不成功。

1 个答案:

答案 0 :(得分:0)

如果在Excel中定义包含计算结果和Key字段的命名范围,则可以从Access链接到该Excel范围。

使用链接表,可以使用更新查询更改Access中的原始数据。

要链接我使用该代码的Excel范围:

Sub MountExcel(MyPathToExcelFile, MyTblName, ExcelRange)
Dim ExternalExcel As TableDef

    Set ExternalExcel = CurrentDb.CreateTableDef(MyTblName)
    With ExternalExcel
        .Connect = "Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=" & MyPathToExcelFile
        .SourceTableName = ExcelRange
    End With
    CurrentDb.TableDefs.Append ExternalExcel
    CurrentDb.TableDefs.Refresh
End Sub

在Access对象列表中可见新链接表之前,有时必须按下F5。