< návrat zpět

MS Excel


Téma: Makro - Data Aktualizovat vše rss

Zaslal/a 29.8.2023 8:14

AlfanDobrý den,
chtěl požádat o pomoc s makrem, které bych přiřadil tlačítku.
Makro by vykonalo rutinu, jak při použití nabídky "Data" --> "Aktualizuj vše".
Můžete mi prosím pomoct?
Děkuji.

Zaslat odpověď >

#055332
elninoslov
Takto?ThisWorkbook.RefreshAllcitovat
#055333
Alfan
To se zapíše takto?
Sub Refresh_all()

ThisWorkbook.RefreshAll

MsgBox ("REFRESH DONE!")


End Sub
citovat
#055338
Alfan
Našel jsem ještě toto.
Sub AktualizovatVsechnyListy()
Dim ws As Worksheet
Dim qt As QueryTable

Application.ScreenUpdating = False

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

Application.ScreenUpdating = True
End Sub

Ale toho je nějaké rychlé mi přijde proti tomu prvnímu zápisu co jsem posílal výše. Nebo e mi to jenom zdá?citovat
#055340
elninoslov
RefreshAll obnoví všetko, druhé makro iba QueryTables. Napr. v tom Vašom súbore wall fuel_format.xlsm nie je ani jediná QueryTables, ale obnoviť dáta cez Obnoviť všetko trvá 3 s.

Dajte si BreakePoint na tento riadok
qt.Refresh BackgroundQuery:=Falsea zistíte, že sa tam makro ani nedostane.citovat
#055341
Alfan
Tak ten můj kratky zápis podle vás je soravnr? Je to tak?
Pokud ano, budu používat. Díky.citovat
#055342
elninoslov
To bude záležať na konkrétnom prípade štruktúry dát. Ak si chcete zamotať hlavu, tak napr. tu riešia kombinácie KT, ListObject, PivotCache, Connection, QueryTable ...
Ak pre Vašu štruktúru dát (prepojenia, dotazy, kt, ...) funguje cesta najmenšieho odporu - RefreshAll, použite ju. Je to schodnejšie, ako zbytočne hľadať prečo sa KT obnovila skôr ako jej zdroj (teda sa tým pádom neaktualizovala), ak Vám to nerobí.citovat
#055345
Alfan
díkycitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse