Refre sh каждый лист Excel с 5-10 секунд - PullRequest
0 голосов
/ 09 января 2020

У меня 100 листов в Excel, и я не могу запустить Refre sh Все, так как это выдает мне ошибку "[Microsoft] [ODB C Драйвер Excel] Слишком много клиентских задач". Так что в настоящее время я должен go для каждого листа и нажать кнопку «Refre sh» вручную после 5-10 секунд задержки. Как я могу автоматизировать «Refre sh» на всех листах, нажав одну кнопку с задержкой в ​​5–10 секунд между каждым refre sh?

Заранее спасибо.

1 Ответ

1 голос
/ 09 января 2020

Попробуйте что-то вроде этого:

Sub RefreshData()

    Dim ws As Worksheet
    Dim qt As QueryTable

    For Each ws In ThisWorkbook.Worksheets
        For Each qt In ws.QueryTables
            qt.Refresh BackgroundQuery = False
        Next
    Next

    MsgBox "Refresh complete"

End Sub

Альтернативный метод:

Sub RefreshData()

    Dim cn As WorkbookConnection

    For Each cn In ThisWorkbook.Connections
        cn.Refresh
    Next

End Sub
...