簡體   English   中英

如何在Excel中通過VBA自動選擇數據源

[英]How can I automatically select a data source via VBA in excel

我有一個4張Excel文件。 每個工作表都包含一個連接到Oracle數據庫的數據透視表。 我需要所有數據透視表在凌晨4點自動更新。 為此,我有一個宏。 問題是宏要求我手動選擇數據源。 宏有沒有辦法自動選擇數據源?

當我執行宏時,它向我顯示此窗口4次:

在此處輸入圖片說明

接着:

在此處輸入圖片說明

我需要宏選擇標記為(PRODUCCION DWH)的宏。

這是宏:

Sub Actualiza_Reporte()

    Dim pt As PivotTable    
    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        For Each pt In ws.PivotTables      
            pt.RefreshTable

        Next pt
    Next ws

    ThisWorkbook.Save   ' Guardamos el archivo
    ThisWorkbook.Close  ' Para cerrar el archivo
    Application.Quit    ' Para cerrar Excel
End Sub

我需要自動更新4張紙,而無需讓我選擇數據源。

謝謝並恭祝安康。

除了使用宏外,您還可以使用默認包含在Excel 2016及更高版本中的超級查詢來執行此操作:

在此處輸入圖片說明

選擇數據,然后選擇新建查詢,然后選擇數據庫,然后選擇Oracle,並創建與Oracle的連接。

然后,您只需要像這樣設置刷新間隔:

在此處輸入圖片說明

再次單擊數據,然后單擊連接,然后單擊設置,然后在X分鍾后更新。

如果要控制oracle電源查詢更新的確切時間,只需配置此宏:

Sub RefreshQuery()
Dim con As WorkbookConnection
Dim Cname As String

For Each con In ActiveWorkbook.Connections
    If Left(con.name, 8) = "Query - " Then
    Cname = con.name
        With ActiveWorkbook.Connections(Cname).OLEDBConnection
            .BackgroundQuery = False  'or true, up to you
            .Refresh
        End With
    End If
Next
End Sub

在這里找到代碼: https : //stackoverflow.com/a/38653892/11971785

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM