【问题标题】:Access to Excel Export访问 Excel 导出
【发布时间】:2020-07-06 16:05:07
【问题描述】:

我正在使用 Recordset 将 5 个查询从 Access 表单导出到 Excel,方法是循环 Excel 对象并在每次循环时创建一个新的 excel。最后,当我想突出显示第一张纸时,它会抛出一个错误:1004

<code>
'Once the loop ends
 xlWorkbook.Sheets("xlsheet1").Select
 xlSheet.Range("A3").Select
</Code>

But when I select the last sheet which is by default highlighted I don't get the error.

<code>
'Once the loop ends
 xlWorkbook.Sheets("xlsheet5").Select
 xlSheet.Range("A3").Select
</Code>

Can someone help me with this.

Thanks in Advance.

【问题讨论】:

  • 您每次都在创建一个新工作簿。第五个工作簿没有第一个工作簿中的工作表。您可以运行xlWorkbook(1 to 5) 的数组。
  • 另外,请使用xlWorkbook.WorkSheets

标签: excel vba ms-access


【解决方案1】:

就这么简单。

Private Sub ExportExcel()
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "your_query", "C:\your_path_here\your_excel_file.xlsx", True
End Sub

这里是'DoCmd.TransferSpreadsheet acExport'函数的参数截图:

因此,倒数第二个参数是工作表名称。有关详细信息,请参阅此内容。

http://access-excel.tips/access-vba-cocmd-transferspreadsheet/

最后,这样的事情应该适合你。

选项比较数据库

Private Sub Command0_Click()

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel10, "Query1", _
"C:\Users\your_path\access_export.xlsx", True, "Query1"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel10, "Query2", _
"C:\Users\your_path\access_export.xlsx", True, "Query2"

End Sub

我无法在我的工作机器上测试这个,因为它锁得太紧了,我几乎不能做任何工作。

【讨论】:

  • 这适用于具有单个查询的单个电子表格,但在我的情况下,我在单个工作簿中创建具有多个查询的多个工作表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-27
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多