【问题标题】:How Do I Further Specify Range?如何进一步指定范围?
【发布时间】:2015-06-07 20:23:16
【问题描述】:

我是编程新手。我想使用 Access 中的 VBA 代码将 Access 查询导出到现有 Excel 工作簿中的特定位置。下面的 DoCmd 对象让我大部分时间到达那里,但我无法进一步指定范围:

TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)

现在我为希望 Access 将查询粘贴到的工作表指定“raw_data”。如果还没有该名称的工作表,则此方法有效,但如果工作表名称已存在,我想进一步告诉 Excel 覆盖它。

【问题讨论】:

  • 您可能需要事先检查工作表名称。如果存在,则让代码选择其他名称。

标签: excel vba ms-access automation export


【解决方案1】:

不要导出查询,而是转到 excel 的数据选项卡并选择“获取外部数据”并构建链接表。从这里您可以使用 Access DB 或 Excel 中的公共函数来刷新并执行您需要完成的任何其他操作。

或者,这里有一些代码可以用来从 access 导出到 excel:

Private Sub excelReport(criteria() As String, reportNumber As Integer,  Optional rstINTL As DAO.Recordset, Optional INTLHQ)

   Dim xlApp As Object
   Dim xlWb As Object
   Dim xlWs As Object


   Set xlApp = CreateObject("Excel.Application")
   '''switch reference upon emplimintation'''
   Set xlWb = xlApp.Workbooks.Open("C:\USER\FileLocation\" & reportNumber & ".xlt")

   xlApp.Visible = True

   Set xlWs = xlWb.Sheets("Data")
   xlWs.Cells(2, 1).copyfromrecordset Me.RecordsetClone 'result of a query

   End Sub

【讨论】:

    猜你喜欢
    • 2022-01-16
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 2013-08-14
    • 2018-06-05
    • 1970-01-01
    相关资源
    最近更新 更多