![](/img/trans.png)
[英]How can I automatically send email from Thunderbird with 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.