一个VBA代码是否可以在excel和access中执行命令?
每天我有大约15个查询需要复制/粘贴到Excel工作簿中的特定工作表和位置。查询中的信息每天更新。我希望编写一个代码,可以将这些查询的结果插入到excel中的特定位置。
是否可以编写一个代码来完成所有这些操作?
答案 0 :(得分:3)
是,Access维护电子表格输出功能,包括:
TransferSpreadsheet您只需识别要导出并输出到特定工作簿和范围的查询:DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "qryName", "C:\Path\To\Excelspread\sheet.xlsx" True, "!WorksheetName"
CopyFromRecordset您在VBA中的DAO或ADO记录集中声明查询并将结果集输出到工作表范围:ws.Range("A2").CopyFromRecordset rst
请注意,除非是动作查询(追加,更新,删除),否则您永远不需要在Access中运行查询。但对于选择查询,只要它正在使用(导出,调用或打开)查询运行。
答案 1 :(得分:2)
是和否。它只能在一个应用程序中运行。
但是,您可以在Access中创建Excel应用程序的实例,并通过Access VBA执行几乎相同的操作。另外,语法是一样的。
例如,这会创建一个新的Excel应用程序:
Dim xl As New Excel.Application
通过它,您可以执行xl.Workbooks.Open(...)
。