Stránka 1 z 1
Jak zastavit bezici makro jinym makrem?
Napsal: 29 úno 2016 18:53
od jiri255
Zdravím,
a prosím o radu, zdali někdo nevíte, jak zastavit běžící makro jiným makrem?
Do ThisWorkbook jsem si dal následující kód, který po otevření excelu spustí
makro "UpDate", které každou minutu aktualizuje excel.
Kód: Vybrat vše
Private Sub Workbook_Open()
Application.Run "UpDate"
End Sub
Což funguje skvěle, ale mám v tom excelu tlačítko a pod ním mám jiné makro
a potřeboval bych nějak v tom makru napsat prvně zastavení toho makra "UpDate"
něco jako "Application.Stop "UpDate" což nefunguje, pak můj kód a na konci zase
opětovné spuštění což jediné vím to je to "Application.Run "UpDate" "
Kód: Vybrat vše
Sub MojeMakro()
'tady nějak zastavit makro "UpDate"
'část pro moje makro
'a opět spuštění toho
Application.Run "UpDate"
End Sub
Předem děkuji za pomoc
Re: Jak zastavit bezici makro jinym makrem?
Napsal: 03 bře 2016 17:24
od cmuch
Můžeš zkusit
Kód: Vybrat vše
Dim TimerActive As Boolean
Sub StartTimer()
'odstartovani timeru
Start_Timer
End Sub
Private Sub Start_Timer()
TimerActive = True
Application.OnTime Now() + TimeValue("00:00:03"), "Timer"
End Sub
Private Sub Stop_Timer()
'zastaveni timeru
TimerActive = False
End Sub
Private Sub Timer()
If TimerActive Then
ActiveSheet.Cells(1, 1).Value = Time
Application.OnTime Now() + TimeValue("00:00:03"), "Timer"
End If
End Sub
Re: Jak zastavit bezici makro jinym makrem?
Napsal: 04 bře 2016 19:25
od jiri255
děkuji za odpověď otestoval jsem to a nějak se mi to nepodařilo zprovoznit

měl jsem to celé vložené v ThisWorkbook uložené jako .xlsm a povolená makra,
ale nic to nedělá asi jsem někde udělal chybu?
Re: Jak zastavit bezici makro jinym makrem?
Napsal: 04 bře 2016 20:11
od cmuch
Nene, dej to do normálního modulu.
Re: Jak zastavit bezici makro jinym makrem?
Napsal: 06 bře 2016 18:58
od jiri255
aha, tak už jsem na to asi přišel teda jestli to mám tak správně a nebude to dělat nějaký problémy?
tento kód jsem dal do normálního modulu:
Kód: Vybrat vše
Dim TimerActive As Boolean
Sub StartTimer()
'odstartovani timeru
Start_Timer
End Sub
Private Sub Start_Timer()
TimerActive = True
Application.OnTime Now() + TimeValue("00:00:03"), "Timer"
End Sub
Sub Stop_Timer()
'zastaveni timeru
TimerActive = False
End Sub
Private Sub Timer()
If TimerActive Then
ActiveSheet.Cells(1, 1).Value = Time
Application.OnTime Now() + TimeValue("00:00:03"), "Timer"
End If
End Sub
a jelikož se to nechtělo automaticky spouštět po startu, tak tento jsem přidal do ThisWorkbook:
Kód: Vybrat vše
Private Sub Workbook_Open()
Application.Run "StartTimer"
End Sub
a teď je to myslím OK, po otevření sešitu se to samo spustí a tím makrem "Stop_Timer"
to v případě potřeby zastavím a pak si to zase tím "Start_Timer" spustím což funguje fakt
skvěle díky za pomoc

Re: Jak zastavit bezici makro jinym makrem?
Napsal: 07 bře 2016 06:25
od cmuch
Já myslím, že to tak můžeš nechat.
Re: Jak zastavit bezici makro jinym makrem?
Napsal: 07 bře 2016 17:23
od jiri255
OK nechám to tedy takto. Děkuji za pomoc funguje skvěle
