Stránka 1 z 1
Excel zastavení makra
Napsal: 09 lis 2016 14:24
od Diesels
Dobrý den,
Mám dva tlačítka jedno pro spuštění makra kvůli aktualizaci dat v určitém časovém intervalu. Můj dotaz se týká druhého tlačítka, které by mělo tuto aktualizaci zastavit. Bohužel se mi to nedaří zprovoznit.
Doposud jsem to řešil pomocí CTRL+BREAK.
Tlačítko UpdateKód: Vybrat vše
Private Sub CommandButton1_Click()
'refresh
ActiveWorkbook.RefreshAll
alertTime = Now + TimeValue("00:00:30") 'hh:mm:ss
Application.OnTime alertTime, "Refresh"
End Sub
Tlačítko pro ukončení Aktualizace:Kód: Vybrat vše
Private Sub CommandButton2_Click()
???
End Sub
Re: Excel zastavení makra
Napsal: 09 lis 2016 14:31
od atari
Tomu nerozumím. Pokud spustíš ve VBA příkaz, tak ho musíš nechat doběhnout. Zastavit můžeš pouze další běh kodu po skončení nějakého příkazu. CTRL BREAK je násilné zastavení, které může způsobovat nekonzistentnost dat.
Re: Excel zastavení makra
Napsal: 09 lis 2016 14:51
od Diesels
atari píše:Tomu nerozumím. Pokud spustíš ve VBA příkaz, tak ho musíš nechat doběhnout. Zastavit můžeš pouze další běh kodu po skončení nějakého příkazu. CTRL BREAK je násilné zastavení, které může způsobovat nekonzistentnost dat.
Ano, ale vzhledem k výše uvedenému makru pro aktualizaci, které se neustále opakuje, ten konec není...
Napadlo mě přidat do makra pro spuštění aktualizace něco ve smyslu If Range("a1").value = "stop" Then zastavení aktualizace/dokončení marka
Do Buňky A1 bych pomocí tlačítka pro zastavení vložil hodnotu "stop"....
Ale nedařilo se mi to zprovoznit
Re: Excel zastavení makra
Napsal: 09 lis 2016 15:41
od petr22
1. zalozit klic v registru, kde bude napr pouze 0 nebo 1, pricemz 1 znamena ze to ma bezet a nula ze se to ma zastavit
2. spustene makro zapise na zacatku 1, nacita data a pri kazdem cyklu kontroluje jestli je tam 1
3. druhe tlacitko zapise 0, takze makro dokonci cyklus a zastavi se, o cemz da hlasku uzivateli
Re: Excel zastavení makra
Napsal: 09 lis 2016 15:51
od atari
V tom případě máš špatně napsané zadání. Ty nechceš zastavovat makro, ale měnit podmínky kdy se má spustit refreš.
Zadat hodnotu je velmi jednoduché:
Kód: Vybrat vše
Private Sub CommandButton2_Click()
Range("a1") = "stop"
End Sub
Dodatečně přidáno po 2 minutách 36 vteřinách:Udělat to přes ty registry je elegantnější, než ten "STOP" v buňce A1.
Re: Excel zastavení makra
Napsal: 09 lis 2016 16:05
od guest
Možná by stačilo podívat se do nápovědy, jak zrušit časové nastavení makra přes OnTime...
Násilně zastavit již běžící makro je hloupost.
Re: Excel zastavení makra
Napsal: 09 lis 2016 16:40
od Diesels
xlnc píše:Možná by stačilo podívat se do nápovědy, jak zrušit časové nastavení makra přes OnTime...
Násilně zastavit již běžící makro je hloupost.
Vyřešeno pomocí "Application.OnTime TimeToRun" funkce....
Děkuji