如何进一步指定范围?

时间:2015-04-02 18:57:04

标签: excel vba ms-access automation export

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

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

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

1 个答案:

答案 0 :(得分:0)

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

或者,这里有一些代码可用于从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