< návrat zpět

MS Excel


Téma: Zobrazované buňky rss

Zaslal/a 23.8.2010 8:50

Aloha všem už jsem tu zas :)

Potřeboval bych jednu záležitost vyřešit.

Mám list , kde mám cca 62 malých tabulek od sebe rozděleny. Každou tabulku jsem si pojmenoval na udaj1, udaj2, udaj3 atd. atd. ...

Potřeboval jestli by nešlo nějakým makrem dokázat to, že si všechny ostatní řádky a sloupce skryjí a zustanou mi odkryty jen ty buňky co jsou v rozsahu pojmenované časti.

Fungovalo by to následově pomocí jedné buňky, třeba na A1 .. když v ní bude 1 tak se mi zobrazí tabulka s názvem udaj1(C3:E5), když v ní bude 2 tak se mi zobrazí tabulka udaj2(F3:H5) atd atd. ...

Moje varianta je na moc dlouhé nastavování a na zatěžování procesoru.

Neporadil by mi někdo něco rychlejšího ? 2
Předem děkuju

Zaslat odpověď >

#002235
Začátečník
Při změně na listu, nebo při vstupu na list lze vyhodnotit obsah zadané buňky a skrýt to co nepotřebuješ.
Bez příkladu těžko napsat něco konkrétnějšího.

Nevím Tvoji variantu, ale tohle bude asi i rychlejší.citovat
#002236
avatar
Takhle to mám nastvené.

Tak že se mi kontroluje bunka B100 a když je v ní 1 tak se mi zbrazí jen to co potřebuji.

Ale to nastavovaní je moc na dlouho. Zapisuji ručné, které sloupce a řádky mám skrýt.Mám cca 62 tabulek v jednom listu. A taky je to náročné na procesor.

bych potřeboval jestli někdo nezná rychlejší nastavování.

Pro příklad dávám přílohu ... o hodně menší verze toho co mám já.
Příloha: rar2236_udaj.rar (6kB, staženo 19x)
citovat
#002241
Začátečník
Stále sice neznám Tvoje "náročné" řešení, ale tohle by mohlo být funkční.

Sub Zobrazeni()

Dim row_offset As Single
Dim col_offset As Single
Dim tab_r_index As Single
Dim tab_c_index As Single
Dim tab_index As Single
Dim row_space As Single
Dim col_space As Single
Dim bunka As String

bunka = "A1" ' buňka určující číslo tabulky pro zobrazení

row_offset = 5 ' počet řádků pro zobrazení
col_offset = 3 ' počet sloupců pro zobrazení
tab_index = 4 ' počet tabulek v řádku

row_space = 3 ' počet prázdných řádků mezi tabulkami
col_space = 2 ' počet prázdných sloupců mezi tabulkami

tab_r_index = 4 ' první řádek první tabulky
tab_c_index = 3 ' první sloupec první tabulky

kolik = Range(bunka)

If kolik > 0 Then
kolik = kolik - 1 ' úprava hodnoty pro výpočty
x = Int((kolik) / tab_index)
ra = tab_r_index + (row_offset + row_space) * x
ca = tab_c_index + (col_offset + col_space) * (kolik - tab_index * x)
rx = ra + row_offset - 1
cx = ca + col_offset - 1
Range(Cells(1, 1), Cells(ra - 1, ca - 1)).EntireColumn.Hidden = True
Range(Cells(rx + 1, cx + 1), Cells(Rows.Count, Columns.Count)).EntireColumn.Hidden = True
Range(Cells(1, 1), Cells(ra - 1, ca - 1)).EntireRow.Hidden = True
Range(Cells(rx + 1, cx + 1), Cells(Rows.Count, Columns.Count)).EntireRow.Hidden = True
End If
End Sub

Zpracováno podle Tebou zaslaného příkladu

Loncitovat
#002242
avatar
Já teda valím vulvy :-O

Takhle hladce to jde. Díki moc, takhle je to podle mých představ. Díki moc.

Jen pro upřesnění. Páč já ten tvůj kod budu zkoumat asi týden :D .. Pracoval jsi s pomocí těch názvů co jsem nadefinoval ( udaj1, udaj2, udaj3 atd.) ?

A potřeboval bych ješte aby sloupce A a B byli stále odkryty. Jak by si to zakomponoval do kódu prosím?citovat
#002243
Začátečník
Pokud mají být stále zobrazeny sloupce A a B, pak stačí změnit
Range(Cells(1, 1), Cells(ra - 1, ca - 1)).EntireColumn.Hidden = True
za
Range(Cells(1, 3), Cells(ra - 1, ca - 1)).EntireColumn.Hidden = True

Podle názvů rozhodně nepracuji.
V úvodu jsou uvedeny všechny potřebné proměnné s popisem.
Vycházím přesně z Tvého zaslaného návrhu, pokud by byly uvedeny všechny potřebné údaje hned a přesně ...citovat
#002245
avatar
Já si myslím, že takhle je to jak potřebuji už.

Zítra to zkusím zakomponovat do té mé tabulky a uvidím.

Ješte jednou díky.

Já na to šel uplně jinak a prostě ten tvuj postup je nej 4citovat
#002303
avatar
Zdravím,

mohl bych poprosit ješte o jednu změnu?

V přiloze mám novou tabulku, doplněnou o malých tabulkách v prvních sloupcích. Ty budou sloužit k přehledu různých informací.
Potřeboval bych na každé tlačítko u Směny A a Směny B vložit makro, které mi zobrazí jen tabulku shodnou s číslem, jaké je uvedeno v kolonce číslo u dané směny + tu tabulku s těmi informacemi(Sloupec A:B). A jiné řádky a sloupce se skryjí.

Pokud tedy bych vybral ve směně B číslo 3 tak at se mi zobrazí jen Tabulka č. 3 + informace a nic jiného.

Prosím prosím. 2
Příloha: rar2303_udaj1.rar (8kB, staženo 19x)
citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje