Stránka 1 z 1

Excel - spuštění požadovaného makra při změně hodnoty buněk

Napsal: 29 led 2018 10:30
od Dominik556
Zdravím ve spolek,

po přečtení několika návodů už vím, že lze požadované makro spustit pomocí změny hodnoty buňky. Používám událostní proceduru:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cll As Range
Set Cll = Intersect(Target, Range("A1:A3"))
If Cll Is Nothing Then Exit Sub
Call nazev_makra
End Sub

Chtěl bych se zeptat zda lze, případně jak, upravit událostní proceduru tak, aby se spuštěla požadované makra v závislosti změn různých buněk.
Např.: když se změní buňky A1:A3 - spustí se makro_1, při změně buněk B1:B3 se spustí makro_2, při změně buněk C1:C3 se spustí makro_3, atd.

Předem děkuji za odpověď.

Re: Excel - spuštění požadovaného makra při změně hodnoty buněk

Napsal: 29 led 2018 12:28
od guest
No zkrátka to, co tam testujete s jednou oblastí, zopakujete i pro ostatní.

Re: Excel - spuštění požadovaného makra při změně hodnoty buněk

Napsal: 29 led 2018 15:59
od Dominik556
Chápu, ale jak to mám zapsat? :)

Re: Excel - spuštění požadovaného makra při změně hodnoty buněk

Napsal: 29 led 2018 23:47
od elninoslov
čistý tip bez skúšky ...

Kód: Vybrat vše

Private Sub Worksheet_Change(ByVal Target As Range)
if Not Intersect(Target, Range("A1:A3")) Is Nothing then Call nazev_makra_1
if Not Intersect(Target, Range("B1:B3")) Is Nothing then Call nazev_makra_2
if Not Intersect(Target, Range("C1:C3")) Is Nothing then Call nazev_makra_3
End Sub

Ale nemôžete to takto rozširovať večne, bude to pomalé. Skôr treba prehodnotiť, čo chcete vôbec konkrétne robiť, akú oblasť kontrolovať, akú náväznosť majú na dané oblasti makrá, a hlavne či sa nedá použiť jedno parametrizované makro na všetky oblasti.
atď...