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 . 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
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"
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
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
Možná tohle:?
oDokument.PrintOut Range:=wdPrintFromTo, From:="1", To:="1"
Neměl by náhodou ten kód být takto:?
oDokument.PrintOut From:="1", To:="1"
nebo
oDokument.PrintOut From:=CStr(1), To:=CStr(1)
Ještě sem se pošťoural v kódu pro jednotlivé směny.
Jen tak v rychlosti, snad to bude stačit.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.