Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem přidat tlačítko do XLS, a dále asi makro nebo co

zdravím,
potřeboval bych udělat:

- mám sešit XLS (ideálně aby to fungovalo v libre office)
- do buňky A1 vložím tlačítko, když na něj kliknu zobrazí se řádky 2-10,
když na ně kliknu znovu zase se skryjí
- rozsah řádku 2 - 10 bude definový jako v E1 bude hodnota 2 v F1 bude hodnota 10

takovýchto tlačítek bude v dalších řádcích na jednom listu třeba 100.
prostě sbalovací/rozbalovací tabulka

jsem schopen toho docílit v XLS?

díky

Předmět Autor Datum
Platí pre Excel: Sub Prepinac_1() Rows(Range("E1") & ":" & Range("F1")).EntireRow.Hidden = Not (Row…
robert13 30.05.2017 08:39
robert13
Prípadne sa dá prvá verzia (štandardný modul) ešte zjednodušiť: Sub Prepinac_1() Prepinanie (1) End… poslední
robert13 30.05.2017 09:43
robert13

Platí pre Excel:

Sub Prepinac_1()
    Rows(Range("E1") & ":" & Range("F1")).EntireRow.Hidden = Not (Rows(Range("E1") & ":" & Range("F1")).EntireRow.Hidden)
End Sub

Pre každé tlačidlo musíš vyhotoviť takýto vlastný kód, kde otrocky musíš zadať bunky udávajúce rozsahy skrývaných riadkov.

Či to bude funkčné v LibreOffice neviem, keďže aj minule sme tu riešili nejaký problém, ktorý sa v LibreOffice nechcel správať tak, ako v Exceli...

Ak by sa zadefinoval modul triedy, tak by si pre celú množinu tlačidiel zadal jediný riadok:

 Rows(Range("E" & cmdTlac.Index) & ":" & Range("F" & cmdTlac.Index)).EntireRow.Hidden = Not (Rows(Range("E" & cmdTlac.Index) & ":" & Range("F" & cmdTlac.Index)).EntireRow.Hidden)

kde by si riadok, odkiaľ má z buniek E a F načítať rozsah skrývaných riadkov, vyčítal Excel sám.

Prípadne sa dá prvá verzia (štandardný modul) ešte zjednodušiť:

Sub Prepinac_1()
    Prepinanie (1)
End Sub

Sub Prepinac_2()
    Prepinanie (10)
End Sub

Sub Prepinac_3()
    Prepinanie (15)
End Sub

.
.
.

Sub Prepinanie(riadok)
    Rows(Range("E" & riadok) & ":" & Range("F" & riadok)).EntireRow.Hidden = Not (Rows(Range("E" & riadok) & ":" & Range("F" & riadok)).EntireRow.Hidden)
End Sub

Čiže pre každé tlačidlo vytvoríš minimálny kód, ktorým vyvolávaš spoločnú procedúru Prepinanie, ktorej predávaš argument, ktorým je číslo riadku, v ktorom sa pre dané tlačidlo v bunkách E a F nachádza rozsah skrývaných riadkov.

teda napr:
Prepínač 2 odovzdáva procedúre Prepinanie argumet 10. To znamená, že pre tlačidlo 2 sú ním skrývané rozsahy zadané v riadku 10 (v bunke E10 a F10).

P.S.Musíš si uvedomiť, že tlačidlo musí byť umiestnené v riadku, ktorý ostane viditeľný.

Zpět do poradny Odpovědět na původní otázku Nahoru