Stránka 1 z 1

Excel makro - skrývání buněk na základě hodnot v buňkách

Napsal: 25 dub 2016 10:38
od lurban
Dobrý den,
prosím o pomoc či radu při tvorbě makra, které by skrývalo řádky a sloupce ve 4. listu na základě hodnot buněk "D1" a "B2" (Buňka D1 obsahuje vzorec, který nabývá hodnot 1 nebo 2. Buňka B2 je buďto PRAVDA nebo NEPRAVDA.) ve 2. listu následujícím způsobem:
Pokud je hodnota D1 = 1, skryje se ve 4. listu řádek 1 a řádek 2 zůstává a všechny sloupce zůstávají. Pokud je D1 = 2 skryje se ve 4. listu řádek 2 a řádek 1 zůstává a zároveň pokud je B2 = PRAVDA, skryje se ve 4. listu ještě sloupec B.
Potřebuji, aby se to chovalo "dynamicky", tedy pokud je hodnota D1 nejprve 1 - řádky jsou skryty a poté se hodnota změní na 2 - řádky (sloupce) se odkryjí a opačně.

Děkuji za pomoc.

...zatím se mi podařilo sepsat toto, ale to první makro nějak nevolá to druhé automaticky, musím ho spouštět ručně...

Private Sub Worksheet_Calculate1()
If Range("D1") <> "" Then
Application.EnableEvents = False
Call Skrývání_sloupců_a_řádků
Application.EnableEvents = True
End If
End Sub

Private Sub Skrývání_sloupců_a_řádků()

If Range("D1").Value = 1 Then
Sheets(4).Rows("1").Hidden = True
Sheets(4).Rows("2").Hidden = False
End If
If Range("D1").Value = 2 Then
Sheets(4).Rows("1").Hidden = False
Sheets(4).Rows("2").Hidden = True
If Range("B2").Text = "PRAVDA" Then
Sheets(4).Range("B:B").Columns.Hidden = False
Else
Sheets(4).Range("B:B").Columns.Hidden = True
End If

End If

End Sub

Re: Excel makro - skrývání buněk na základě hodnot v buňkách

Napsal: 26 dub 2016 14:57
od atari
lurban píše:Potřebuji, aby se to chovalo "dynamicky", tedy pokud je hodnota D1 nejprve 1 - řádky jsou skryty a poté se hodnota změní na 2 - řádky (sloupce) se odkryjí a opačně.
Můžeš to nějak zkonkretizovat srozumitelně? Když se spustí makro, tak nikdy nemůže vědět co bylo v D1 nejprve (pokud někde nebudeš ukládat historii hodnot).

Re: Excel makro - skrývání buněk na základě hodnot v buňkách

Napsal: 26 dub 2016 18:28
od cmuch
Již má vyřešeno na jiném fóru.