Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 16

Zrušte vyznačené nastavení

Cca před deseti lety jsem měl stejnou potřebu, jakou jste popsal v zadání. Příloha obsahuje moje řešení, ze kterého jsem vypustil všechny funkce s výjimkou požadovaného způsobu výběru. K rychlosti jeho práce pro informaci dodávám, že sešit pracuje se jmenným seznamem o 3500 položkách. Ten seznam je už 10 let starý a tím pádem těžko zneužitelný.

Blíží se doba dovolených a s ní zasílání fotek z exotických míst. V příloze je námět na poslání takové fotky v netradiční podobě.
Příloha obsahuje dva sešity: Split4x4 umí běžnou fotku JPG oříznout na pohlednicový rozměr a rozřezat ji na 4x4 stejných dílů. V této podobě umí fotku exportovat do druhého sešitu z přílohy, pojmenovaného Puzzle4x4. Po provedení exportu je sešit Puzzle4x4 zcela autonomní a může být dál užíván bez Split4x4.
Při každém otevření Puzzle4x4 se zobrazí vložená fotka v náhodně rozházené podobě, kterou můžeme pomocí zabudovaných ovladačů řádně složit. Počítá se počet tahů, spotřebovaných na složení. Podle mých zkušeností je řešení pod sto tahů velmi kvalitní a pod 80 tahů výjimečné.
Před lety jsem byl s touto hříčkou (která má svůj prapůvod ve slavném hlavolamu "15") poměrně úspěšný. Teď jsem ji oprášil v ribbonovém Excelu 2010 a posílám ji jako svůj příspěvek k vaší prázdninové pohodě. Zaslaný Split4x4 obsahuje dvě připravené fotky, z nichž jedna je vložená do Puzzle4x4 pro vyzkoušení hry. Kód obou sešitů je odemčený a komentovaný. Pokud s obrázky občas pracujete, mohly by se vám některé obraty z kódu hodit do krámu.

Petře, v podstatě navrhuješ pro toto fórum zavedení cenzury na dotazy i odpovědi. Cenzuru nemám rád. Zejména pro případy, kde je dotaz srozumitelně položený a odpověď je technicky správná.
Odpovědí na technicky vadný dotaz by mělo být, že na něj nikdo neodpoví. Za technicky vadnou odpověď pokládám odpověď s věcnou chybou, případně odpověď na něco jiného, než na co zněl dotaz.
Za legální a dokonce užitečné pokládám věcné upozornění na chyby. Subjektivní moralizování a zejména zesměšňování a odsuzování ale do této kategorie rozhodně neřadím. Role samozvaného inkvizitora nesluší nikomu.

Použijte numerický formát [h]:mm. Pak v tom formátu můžete časové hodnoty jak zadávat, tak odečítat.

Na Petra Pecháčka, pseudo xlnc, působím jako červený hadr na býka. Až natolik. že přestává vidět i myslet: ve své první odpovědi uvádím:
1 - konstatuji, že řešení od eLCHa neodstraňuje vybraného pracovníka ze seznamu, jak bylo v zadání požadováno
2 - dále píšu, že "pokládám každé řešení přímo na listu se seznamy za nadbytečné. Stačí totiž rušené jméno vybrat pravou myší a zrušit ho s posunem nahoru."
3 - jen pro případ, že by se zrušení pracovníka mělo odehrát odjinud (např. na skrytém listu), uvádím řešení pomocí formuláře.

A tak se ptám: Petře, stojí ti tvoje nesmyslná reakce zato?

Ano, pokud jsou adresy zdrojových buněk uvedeny včetně plné cesty ke zdrojovým sešitům.

To elninoslov: to je moc hezké a nápadité řešení s intuitivní nápovědou. Ten nápad se hodí a při první vhodné příležitosti ho využiji. Vyžaduje ale, abych byl na tom listu se seznamy. Dělá přesně to, co místní nabídka pro pravou myš.
Nevím proč, ale měl jsem dojem, že jirka70 chce svoje seznamy obsluhovat odjinud. Ze zadání to nevyplývá. Snad mne k tomu přivedl název tohoto vlákna a dotaz na obsluhu comboboxu.
Pro vlastní archiv jsem své řešení doplnil o zrcadlovou funkci přidání pracovníka (pro obsluhu seznamů odjinud než z listu se seznamy). Upravený sešit je v příloze.

Jirko70, to je zvláštní shoda - jsem stejně starý. Nevidím žádný důvod, proč by si dva důchodci neměli pomáhat 2

Nějak jsem nepostřehl, kde v řešení od elCHa dojde k požadovanému odstranění vybraného pracovníka.
Jinak pokládám každé řešení přímo na listu se seznamy za nadbytečné. Stačí totiž rušené jméno vybrat pravou myší a zrušit ho s posunem nahoru.
Pokud by měl být list se seznamy skrytý a k rušení jmen by mělo docházet jinde, byl by asi formulář rozumným řešením. Pro tento případ by snad šlo použít upravený tazatelův formulář podle řešení v příloze.

Automatické produkování mailů v případě překročení stanovené meze pro hodnotu buňky lze snadno vyvolat událostní procedurou Worksheet_Change, vztaženou k posuzované hodnotě. Problém vidím spíš v tom, aby se pak takový mail neprodukoval zbytečně často (při opakované změně v oblasti překročení meze). Záleží na konkrétní úloze, jakým způsobem a zda vůbec režimovat nadbytečné odesílání varovných mailů.

Pomocí VBA:
Sub Redukce()
Dim Zdroj As Range, Cil As Range
Dim i As Long, j As Long
Application.ScreenUpdating = False
Set Zdroj = Cells(2, 2).CurrentRegion
Set Cil = Sheets("Hárok2").Range(Zdroj.Address)
For i = 1 To Zdroj.Rows.Count
If Zdroj.Cells(i, 1) <> 0 Then
j = j + 1
Cil.Rows(j) = Zdroj.Rows(i).Value
End If
Next i
End Sub

Po "zakomentování" je užitečné provést Debug / Compile, který ukáže, zda není vyřazená procedura volána z živého kódu. Pokud z tohoto titulu nevznikne kompilační chyba, zakomentovaný kód lze zpravidla z projektu zcela vyřadit. Pokud kompilační chyba vznikne, lze ještě zkoumat, jestli není živý kód s voláním zakomentované procedury součástí nepoužívané větve (a tu pak také zakomentovat). O nějaké aktivní metodě (jako jsou cross reference) pro VBA projekty nevím.
Test oprávněnosti pro zrušení kódu pomocí kompilace může lhát v případech, kdy je procedura volaná jinak, než z kódu VBA (jako makro pomocí klávesové zkratky, jako UDF z listu). Tato rizika je vhodné prověřit před definitivním vyřazením procedury z VBA.

Řešení s KT na skrytém listu, jak ho nabízí Elninoslov, je sympatické a vhodné zejména pro úlohy, které vyžadují opakovanou údržbu seznamu unikátů. Navíc se opravdu obejde bez maker. Takřka virtuální existence seznamu v podobě definovaného názvu se mi velmi líbí. Tento koncept ale vyžaduje, aby řešitel vybavil každou svoji úlohu potřebným aparátem. To předpokládá aktivní znalost práce s KT a s názvy.
Moje řešení je určeno spíš k jednorázovému využití pro vznik unikátního seznamu pomocí externího nástroje. To, že nástroj využívá makra a uživatelský formulář, není na závadu ani pro sešity, které samy makra nepoužívají. Nástroj slouží bez problémů i pro sešity typu .xlsx. A pokud se nebudu starat o to, jak nástroj pracuje uvnitř, použití KT ani nezaregistruji.
Pro začátečníky v Excelu pokládám svůj nástroj za vlídnější, pokročilejší řešitelé možná sáhnou raději po řešení, které naznačil Elninoslov.

Ve svém archivu mám celou sadu postupů, které dokážou ze zdrojového seznamu s duplicitami vytvořit seznam unikátních hodnot a případně k němu přidat četnost výskytu jednotlivých prvků takového seznamu.
V poslední době jsem opakovaně potkal doporučení vytvářet frekvenční seznamy v podobě kontingenční tabulky. Musel jsem uznat, že jde o velmi účinnou metodu s minimálními nároky na pracnost. Pro některé způsoby využití však je kontingenční tabulka poměrně neohrabaný útvar na listu.
Zkusil jsem skombinovat účinnost vytvoření KT s jednoduchostí vytvořeného seznamu v podobě oblasti buněk na listu. V příloze je servisní sešit, jehož úkolem je takový seznam vytvořit na základě zadaných parametrů. Uživatel zadá polohu zdrojového seznamu a umístění výsledku z něj. Zbytek zařídí zabudovaná procedura. Nástroj pracuje pozoruhodně rychle. Kdo má zájem, může si to ověřit. Žádné vědomosti o KT k tomu nejsou potřebné, protože technika KT se použije, aniž by se s ní uživatel přímo potkal.


Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 16

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse