一个VBA代码可以在excel和access中执行命令吗?

时间:2015-07-18 01:10:48

标签: excel vba ms-access

一个VBA代码是否可以在excel和access中执行命令?

每天我有大约15个查询需要复制/粘贴到Excel工作簿中的特定工作表和位置。查询中的信息每天更新。我希望编写一个代码,可以将这些查询的结果插入到excel中的特定位置。

是否可以编写一个代码来完成所有这些操作?

2 个答案:

答案 0 :(得分:3)

是,Access维护电子表格输出功能,包括:

  1. TransferSpreadsheet您只需识别要导出并输出到特定工作簿和范围的查询:DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "qryName", "C:\Path\To\Excelspread\sheet.xlsx" True, "!WorksheetName"

  2. CopyFromRecordset您在VBA中的DAO或ADO记录集中声明查询并将结果集输出到工作表范围:ws.Range("A2").CopyFromRecordset rst

  3. 请注意,除非是动作查询(追加,更新,删除),否则您永远不需要在Access中运行查询。但对于选择查询,只要它正在使用(导出,调用或打开)查询运行。

答案 1 :(得分:2)

是和否。它只能在一个应用程序中运行。

但是,您可以在Access中创建Excel应用程序的实例,并通过Access VBA执行几乎相同的操作。另外,语法是一样的。

例如,这会创建一个新的Excel应用程序:

Dim xl As New Excel.Application

通过它,您可以执行xl.Workbooks.Open(...)

等操作