automatické podmíněné skrývání řádků

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

rtep007
nováček
Příspěvky: 13
Registrován: únor 15
Pohlaví: Muž
Stav:
Offline

automatické podmíněné skrývání řádků

Příspěvekod rtep007 » 22 črc 2016 11:46

Zdravím všechny, mám prosbu ohledně automatického skrývání řádků na základě zobrazené hodnoty v řádku. V několika samostatných tabulkách, které mám řazeny pod sebou bych potřeboval, aby se mi automaticky zobrazovaly pouze řádky "ANO" (viz přiložená tab).Nejedná se o odstranění ale skrývání tak, aby v případě potřeby bylo možno zobrazit i řádky "NE". Jenom chci upozornit, že hodnota "ANO" a "NE" v jednotlivých řádcích je generována pomocí funkce "KDYŽ", tak jenom pro info, aby to nedělalo nějaký problém (v přiložené tab. jsou pouze "čisté" hodnoty "ANO" a "NE"). Je pro to možné řešení? V případě, že ano, lze tato úloha plně automatizovat, a to ve smyslu, když jsou hodnoty "ANO" a "NE" přebírány pomocí funkce, aby se řádky skrývaly okamžitě po zobrazení (zadání) této hodnoty? Myslím tím bez dalších nutných kroků, byť pouze zmáčknutí tlačítka makra, atp.? V podmíněném formátování jsem nic takového nedohledal a klasický filtr bych rád obešel nějakou jinou cestou. Díky moc za každou radu. Pěkný den. Petr
Přílohy
Dotaz excel.xlsx
(11.22 KiB) Staženo 85 x

Reklama
guest
Pohlaví: Nespecifikováno

Re: automatické podmíněné skrývání řádků

Příspěvekod guest » 22 črc 2016 13:53

1. Jedině makrem
1a) Ne na základě událostní procedury listu Worksheet_Change (ruční změna obsahu),jedině Worksheet_Calculate (přepočet listu).
1b) Ruční podnět (tlačítko, klávesová zkratka) pro spuštění makra k zobrazení/skrytí.

Mezi námi děvčaty je to možná zbytečné (neviděl jsem ale přílohu). Udělejte z tabulky Tabulku, pokud to jde (Vložení /Tabulka), naučte se s ní dělat a prostě to nebude klepnutí jedno, ale dvě (Filtr sloupce).

guest
Pohlaví: Nespecifikováno

Re: automatické podmíněné skrývání řádků

Příspěvekod guest » 23 črc 2016 09:52

viz ukázka ve vlastní příloze, zpracováno na tlačítko bez událostí

Kód: Vybrat vše

Sub SkrytRadky()

    Dim rngBunka As Range
   
    Dim i As Integer

    'prirazeni sledovane oblasti do objektove promenne
    Set rngSledovanaOblast = Range("B5:B14,B20:B29")

    'zakaz udalosti a prepoctu listu
    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual

    'zobrazeni vsech radku
    rngSledovanaOblast.EntireRow.Hidden = False

    'pro kazdou bunku v oblasti
    For Each rngBunka In rngSledovanaOblast
       
        'obsahuje bunka text "ne"?
        If rngBunka.Text = "ne" Then

            'pridani bunky od oblasti radku ke skryti
            i = i + 1
           
            If i = 1 Then
                Set rngOblastNe = rngBunka
            Else
                Set rngOblastNe = Union(rngOblastNe, rngBunka)
            End If

        End If

    Next rngBunka

    'skryti radku
    rngOblastNe.EntireRow.Hidden = True

    'povoleni prepoctu listu a udalosti
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True

End Sub
Přílohy
skryvani_ne.xlsm
(19.11 KiB) Staženo 332 x

rtep007
nováček
Příspěvky: 13
Registrován: únor 15
Pohlaví: Muž
Stav:
Offline

Re: automatické podmíněné skrývání řádků

Příspěvekod rtep007 » 25 črc 2016 13:18

Zdravím všechny a díky za reakci "xlnc". Vaše makro je přesně to, co potřebuji a funguje. Velké díky! Použil jsem ho v kombinaci s již zavedeným makrem, které slouží v mém souboru k řazení dat podle průměru. Také vše funguje ale s malinkou vadou na kráse, protože toto sloučené makro musím aktivovat vždy na dvojí zmáčknutí tak, aby se mi hodnoty seřadily podle průměru a zároveň se mi neaktivní "nulové" řádky skryly. Mohl bych ještě poprosit o revizi tohoto sloučeného makra, kde by mohla být chybička. Bylo by ideální aby sloučené makro bylo aktivní na první zmáčknutí ... Díky předem moc za radu. Přeji pěkný den.
Zdraví PV


Sub SERADIT()
'
' SERADIT Makro
' Seřadí podle výsledného průměru.
'

'

Dim ws As Worksheet

On Error Resume Next

Set ws = ThisWorkbook.ActiveSheet
aplicF
ws.Unprotect "rtep"
With Range("C10:P81")
.Select
End With

With ActiveWorkbook.Worksheets("celkové umístění")
.Sort.SortFields.Clear
.Sort.SortFields.Add(Range( _
"P10:P81"), xlSortOnFontColor, xlDescending, , xlSortNormal).SortOnValue.Color _
= RGB(234, 234, 234)
.Sort.SortFields.Add Key:=Range( _
"P10:P81"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
End With

With ActiveWorkbook.Worksheets("celkové umístění").Sort
.SetRange Range("C10:P81")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

With Range("A1")
.Select
End With


Dim rngBunka As Range

Dim i As Integer

'prirazeni sledovane oblasti do objektove promenne
Set rngSledovanaOblast = Range("d48:d81,ay222:ay257,ay264:ay299,ay306:ay341")

'zakaz udalosti a prepoctu listu
Application.EnableEvents = False
Application.Calculation = xlCalculationManual

'zobrazeni vsech radku
rngSledovanaOblast.EntireRow.Hidden = False

'pro kazdou bunku v oblasti
For Each rngBunka In rngSledovanaOblast

'obsahuje bunka text "ne"?
If rngBunka.Text = "" Then

'pridani bunky od oblasti radku ke skryti
i = i + 1

If i = 1 Then
Set rngOblastNe = rngBunka
Else
Set rngOblastNe = Union(rngOblastNe, rngBunka)
End If

End If

Next rngBunka

'skryti radku
rngOblastNe.EntireRow.Hidden = True

'povoleni prepoctu listu a udalosti
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True


ws.Protect "rtep"
aplicT
End Sub

guest
Pohlaví: Nespecifikováno

Re: automatické podmíněné skrývání řádků

Příspěvekod guest » 25 črc 2016 18:43

Já tu naslepo kód luštit nechci.

rtep007
nováček
Příspěvky: 13
Registrován: únor 15
Pohlaví: Muž
Stav:
Offline

Re: automatické podmíněné skrývání řádků

Příspěvekod rtep007 » 27 črc 2016 11:40

Já jsem luštil a přišel jsem na to, každopádně i tak dík ...


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Podmíněné formátování poměru Příloha(y)
    od veselypettr » 25 kvě 2023 14:01 » v Kancelářské balíky
    7
    1873
    od veselypettr Zobrazit poslední příspěvek
    31 kvě 2023 14:00
  • Kopírování řádků s funkcí když Příloha(y)
    od Martyn20 » 20 črc 2023 16:50 » v Kancelářské balíky
    3
    1921
    od Melvidor Zobrazit poslední příspěvek
    21 črc 2023 08:41
  • Ukotvení prvního a posledního řádku v tabulce.
    od Kopusek » 13 pro 2023 10:50 » v Kancelářské balíky
    2
    1548
    od Kopusek Zobrazit poslední příspěvek
    14 pro 2023 08:55
  • excel text na konec více řádků najednou Příloha(y)
    od Myerina » 03 led 2024 11:51 » v Kancelářské balíky
    5
    919
    od Zivan Zobrazit poslední příspěvek
    04 led 2024 09:42
  • Automatické přehrávání videa Příloha(y)
    od fafejt » 09 úno 2024 13:59 » v Internet a internetové prohlížeče
    4
    702
    od fafejt Zobrazit poslední příspěvek
    09 úno 2024 17:30

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti