2015-04-02 70 views
0

我是編程新手。我想要使​​用Access中的VBA代碼將Access查詢導出到現有Excel工作簿中的特定位置。以下DoCmd對象讓我最的方式有,但我有進一步的指定範圍的麻煩:如何進一步指定範圍?

TransferSpreadsheet的(以TransferType,SpreadsheetType,表名,文件名,HasFieldNames,範圍,UseOA)

現在我爲我希望Access的工作表指定「raw_data」以將查詢粘貼到。如果沒有該名稱的工作表,這可以工作,但是如果工作表名稱已經存在,我想進一步告訴Excel覆蓋它。

+0

您可能需要爲工作表名稱做了檢查事前。如果它存在,那麼讓代碼選擇一個不同的名稱。 – Kyle 2015-04-02 19:16:01

回答

0

而不是導出查詢轉到Excel的數據選項卡,並選擇「獲取外部數據」,並建立鏈接表。從這裏你可以使用Access數據庫或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