Excel (vba) - změna v buňce spustí makro
Napsal: 29 říj 2019 06:49
Dobrý den,
prosím potřebovala bych pomoct s excelem (vba) - v buňce E34 mám rozevírací seznam, který obsahuje hodnoty ANO, NE nebo prázdné. Pokud je zvoleno ANO skryje mi určité řádky, jinak jsou řádky odkryty. Mám napsané makro které tohle dělá viz níže, problém ale nastane když udělám změnu kdekoliv jinde na listu (napíšu něco do jiné buňky) tak se spustí příslušný úkon podle toho co je ve výše zmiňované buňce označeno (ANO,NE). Ono samozřejmě neskrývá/neodkrývá řádky - protože hodnota buňky se nezměnila, ale překlikne se na buňku F34 (pokud ten řádek v kódu smažu tak označí tu oblast řádku podle toho co je uvedeno v kódu). Je to docela protivný protože když jsem např. na řádku 150 tak mě to při každé změně jakékoliv buňky hodí na F34. Asi tam mám špatně nastaveny ty Application.EnableEvents ale vůbec nevím jak to upravit, zkouším to už třetí den a začínám být z toho zoufalá :-/
Níže přikládám makro, moc děkuji za jakoukoliv pomoc.
Andrea
Private Sub worksheet_change(ByVal target As Range)
Set target = Range("E34")
If target.Value = "ANO" Then
Application.EnableEvents = False
Rows("35:49").Select
Selection.EntireRow.Hidden = True
Range("F34").Select
Application.EnableEvents = True
Else
Application.EnableEvents = False
Rows("34:50").Select
Selection.EntireRow.Hidden = False
Range("F34").Select
Application.EnableEvents = True
End If
End Sub
prosím potřebovala bych pomoct s excelem (vba) - v buňce E34 mám rozevírací seznam, který obsahuje hodnoty ANO, NE nebo prázdné. Pokud je zvoleno ANO skryje mi určité řádky, jinak jsou řádky odkryty. Mám napsané makro které tohle dělá viz níže, problém ale nastane když udělám změnu kdekoliv jinde na listu (napíšu něco do jiné buňky) tak se spustí příslušný úkon podle toho co je ve výše zmiňované buňce označeno (ANO,NE). Ono samozřejmě neskrývá/neodkrývá řádky - protože hodnota buňky se nezměnila, ale překlikne se na buňku F34 (pokud ten řádek v kódu smažu tak označí tu oblast řádku podle toho co je uvedeno v kódu). Je to docela protivný protože když jsem např. na řádku 150 tak mě to při každé změně jakékoliv buňky hodí na F34. Asi tam mám špatně nastaveny ty Application.EnableEvents ale vůbec nevím jak to upravit, zkouším to už třetí den a začínám být z toho zoufalá :-/
Níže přikládám makro, moc děkuji za jakoukoliv pomoc.
Andrea
Private Sub worksheet_change(ByVal target As Range)
Set target = Range("E34")
If target.Value = "ANO" Then
Application.EnableEvents = False
Rows("35:49").Select
Selection.EntireRow.Hidden = True
Range("F34").Select
Application.EnableEvents = True
Else
Application.EnableEvents = False
Rows("34:50").Select
Selection.EntireRow.Hidden = False
Range("F34").Select
Application.EnableEvents = True
End If
End Sub