将访问查询导出到现有Excel工作簿(具有宏)

时间:2018-03-14 16:52:12

标签: excel vba excel-vba access-vba access

关于Stackoverflow的第一个问题,长期以来一直将该网站用作查看器。

我需要将Access 2010中的查询导出到现有的Excel 2010工作簿中,该工作簿可以是.xlsm或.xlsb(因为宏可以在两者中工作)。我按照以下方式设置:

  • 用户单击Excel工作簿中的按钮以刷新选项卡
    - >这在Excel中运行VBA,调用Access中的宏来运行          ---> Access中的宏仅调用Access中的现有查询来运行并将结果导出回初始的Excel工作簿。

访问宏代码:

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Data_SlotView", "M:\Merch. Strategy\Merch Forecasting\Automotive Division\File Sharing\Automotive Deal-Page-Slot View\Deal-Page-Slot-View.xlsb"

如果我的Excel文件是.xlsx,但我的代码有效,但显然Access 2010不允许导出到带有宏的Excel文件,所以我必须使用某种变通方法。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Access中的INSERT查询:

CurrentDb.Execute "INSERT INTO [Excel 12.0 Macro;HDR=Yes;DATABASE=M:\Merch. Strategy\Merch Forecasting\Automotive Division\File Sharing\Automotive Deal-Page-Slot View\Deal-Page-Slot-View.xlsm].[Sheet1$] SELECT * FROM Data_SlotView;"