Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  12 13 14 15 16 17 18 19 20   další » ... 70

Přesně jak píše kolega výše.

Z toho popisu co si sem dával, sem pochopil, že se sešit do kterého se výsledky kopírují nemá zavírat, ale zůstat otevřený, proto ta kontrola počtu spuštěných instancí.

Pokud by se sešít zavíral "ručně" a opětovně otevíral přes makro budou instance excelu stále viset v paměti.

Pokud se má tedy soubor, do kterého se kopíruje zavírat, nejjednodušší to bude udělat přímo v kódu a při tom i odstřelit "druhou" instanci

Tak tady to máš.
Musel sem se zbavit i ovládacích prvků na výběr jména a místa zaměstnání. Nelíbil se jim skrytý list Data na který byly navázány.
Zvolil sem cestu nejmenšího odporu a nahradil je za Ověření dat.

Jinak v kódu se používají "CodeName" listů, to jsou ty jména, která vidíš v editoru VBA mimo závorky u jednotlivých listů. Je to z toho důvodu, pokud by došlo do budoucna k přejmenování jednotlivých listů, kód bude stále funkční.

Jediné co musí být dodrženo je jméno souboru shodné z konstantou v modulu mod_Nastaveni

Pokud tedy provedeš přejmenování souboru, změň jméno i u konstanty !!!

Prozatím jen vyměněny optionbuttony z prvků formuláře za ActiveX + kód.
Když vybereš nějaký optionbutton ze skupiny, další dva se zakážou.

V Module2 je resetovací kód.

Ve skupině A je popisek součástí optionbuttonu v dalších skupinách je součástí buněk (jak si původně měl).

Dej vědět co více vyhovuje.

Dita napsal/a:

K tomu proklikání testů v jedné oblasti (A-E)- to mě vůbec nenapadlo, ale je to tak.

Právě, a je to tedy povolené chování toho testu? Když uživatel zjistí, že po kliknutí na první optionbutton se mu aktivuje list 1, nic mu nebrání si proklikat jednotlivá ouška listů nebo všechny Optionbuttony, přečíst si všechny otázky a vybrat si test, který mu nejvíce vyhovuje.

Dita napsal/a:

Čím je vlastně dáno, že se bude list tisknout? Tady úplně nerozumím otázce.

V řešení, které jsem sem původně dal, byl list zařazen do tisku pouze na základě toho, že byl přes optionbutton aktivován (vybrán), což je na základě předchozího odstavce na dvě věci.

Dita napsal/a:

Ale nevěděl jsem, že se sestava po uzavření sešitu vymaže.

Nemusí, záleží jak si to "naprogramuješ" může se např. ukládat někam do listu.

Další variantou by bylo všechny listy mimo "titulku" skrýt a zobrazovat je na základě vybraného optionbuttonu. Popřípadě pokud nemá uživatel vidět všechny listy (testy) po aktivaci jednoho optionbuttonu ze skupiny ostatní zakázat. Poté vytiskout jen viditelné listy.
????

No v první řadě z původního popisu sem nabyl dojmu, že se bude tisk provádět ihned po dopsání testu. Proto sem zvolil toto řešení.
Při kliknutí na příslušný OptionButon se aktivuje list, který k němu náleží (Tvá práce), do kódu sem dodal funkci, že se zároveň do pole Sestava uloží index listu. Při výběru dalších OptionButtonů (listů) se pole Sestava plní indexy dalších listů.

Makro Tisk
vezme pole Sestava a zobrazí náhled před tiskem, po tisku nebo zrušení náhledu se pole vymaže pro další použití. Toto pole je uloženo v paměti RAM počítače, takže pokud soubor zavřeš (i po uložení souboru) dojde k jeho odstranění z paměti a po opětovném otevření souboru je prázdné, proto ta chyba.

Když se nad tím zamyslím celý ten koncept je špatně, vzhledem k bodu 3 a 4. Zaměstnanec klidně může proklikat všechny OptionButtony na listu, než si vybere konkrétní test. Jak máš tohle ošetřeno? Nebo je to možné? (došlo by k tisku všech listů!)

Čím je vlastně dáno, že se bude list tisknout?
Pokud to má být jen na základě hodnoty Optionbuttonu bylo by vhodné to celé předělat a místo ovládacích prvků formuláře použít prvky ActiveX.

Duplexní tisk je záležitostí ovladače tiskárny, proto sem volil zobrazení náhledu před tiskem, kde si můžeš zvolit tiskárnu a případně upravit nastavení, místo přímého tisku na výchozí tiskárnu.

Ukládání souborů bude řešeno jak? Ručně nebo pomocí makra ?

Hm 7 . Blbý no.
A co se takhle s námi podělit o informace, jakým způsobem má tenhle "test" vlastně fungovat?!

Upraveno pro tisk bez "Titulku"

V předchozí odpovědi vyměněna příloha! Podařilo se mi vložit soubor, který obsahoval chybu v kódu 7

Třeba takto:

Ber to jako pokus o řešení. Soubor do kterého se má "kopírovat" se sám otevře a proběhne přenos dat a uložení. Pokud doplníš hodnoty a znovu klikneš na tlačítko dojde a "aktualizaci" a opětovnému uložení.
Data se přenášejí přes pole, tedy jen hodnoty nikoliv formátování.

@Lubo

Osobně považuji za nejrychlejší, pokud netrvám na použití ClearContents, variaci na téma: Načíst do pole oba sloupce, příslušné pole nahradit prázdným řetězcem a pak celé pole vrátit zpět.

Dobrej tip, v jednoduchosti je síla.

To elnino
To ukládání oblastí do pole a opětovné spojení je zajímavá "fičura" 1
Diky za to, ukládám do archivu.

I když celá věc byla na konec zbytečná, Celý sloupec vlastně znamená rozsah 1 až 500 6 6 6

To elnino:
Ahoj, šel sem na to v podstatě stejně viz soubor, ale mám velkou oblast dat A1:A40200 viz tazatelův požadavek - aby mi to zkontrolovalo celý sloupec

Makro však zdechne, vlastně obě.
Přetečení rng ???
Máš nějaký elegantní tip, jak z toho ven?

Sheets("STATISTIKA").Cells(RNG.Row, 2).PasteSpecial xlPasteValues

A?

Pokud sem nevložíš vzorový soubor, tak se nikam nepohnem!

44101 = 27.9.2020


Strana:  1 ... « předchozí  12 13 14 15 16 17 18 19 20   další » ... 70

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