Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  4 5 6 7 8 9 10 11 12   další »

Trochu jsem to poladil, ale bylo toho dost, nevim, jestli to vsechno pochytas. Neresil jsem proc se to tak louda, pouze aby se to dalo prerusit a aby ten formular si natahl nejake defaultni hodnoty, nebot to byl sileny opruz to tam pri kazdem nacteni znovu zadavat. Taky jsem odremovat predavani hodnot z formulare procedure.
Musel jsem zadefinovat globalni promennou boStop, abych tu proceduru mohl zastavit.
Jinak bych doporucoval pouzivani deklaraci promennych, z mnoha duvodu, neni to sice nutne ale lepsi

Promin Marficku, nechtel jsem Te ranit, druha dohoda zni Neber si nic osobne. Sam ji porusuji denne 3
Mozna z toho prispevku nevyznelo, ze klidne Ti ten klasicky kod napisu, pokud reknes.
Udelat kvalitni aplikaci s formularem, kde jsou treba jenom 4 zadavaci prvky, je nekdy fakt vyssi divci naladit tak, aby se to chovalo za vsech podminek spravne. Tim ale nerikam, ze jsem odpurce formularu, ale ze predstupnem formu ma byt urcita zkusenost s Form controls a ActiveX controls pouzitych bez formulare primo na liste

No, nevim, jak by platnost dokumentu (tedy sesitu) by mela souviset s verzi excelu.

Platnost dokumentu nastavis treba takhle
Ten kod musis dat do modulu ThisWorkbook (TenoSesit) jinak to nebude fungovat - bacha na format datumu - ten zavisi na regionalnim nastaveni Windows
Private Sub Workbook_Open()
Dim dtPlatnost As Date

dtPlatnost = CDate("12/31/2012") 'pro anglicke Windows prostredi
dtPlatnost = CDate("31.12.2012") 'pro ceske Windows prostredi

If dtPlatnost < Now() Then
MsgBox "Tento soubor je uz neplatny a bude uzavren."
ThisWorkbook.Close (0)
End If

End Sub


Ale mel bys vedet, ze pokud to bude nekdo otevirat se zmacknutym Shiftem, toto udalostni makro se obejde a tedy ten soubor se nezavre.

Pokud to chces nejak zahadne jeste zkloubit s verzi excelu, tak tu si kodem zjistis dotazem na vlastnost excelu Application.Version

Pomoc, dalsi formularista 7
Pratele, nejdriv se naucte klasiku az potom pristupte k formularum. Ty jsou opravdu o jeden rad vys nez obycejny kod v modulu. Chapu, ze touha po profi vzhledu je lakadlem, ale pokud ses dostal ve formularich prave tam, kde ten formular v teto ukazce konci, tak to se jim zatim urcite vyhni.
Nemel bych problem to udelat formularem, ale ty pak nebudes mit ani tucha, co vsechno se kolem toho Formu muselo nastavit a nijak te to neposune. Pritom toto je klasicka uloha na obycejne tlacitko: kliknes, objevi se varovani o tom, ze budes menit ceny - s moznosti zrusit akci anebo pokracovat, pokud pokracovat tak vyskoci input box, kam zadas procenta (plus nebo minus), pak jeste jedno sumarizacni info, ze se chystas zdrazit/zlevnit vsechny (anebo jen vybrane, ale to az v druhem dile) polozky o x% a teprve po kliknuti na toto posledni OK se to uskutecni. A po akci informace o tom, ze to probehlo,napr. Hotovo. Jestli takovehle makro umis vytvorit, pak muzes pomyslet na form (ale pocitej s obtizemi!). Driv, prosim, ne 10

A jinak je to peknej paskvil - kdyz jsem ty promenne vynasobil jednickou, tak se to rezjelo, jelo to pres deset minut a pak to zamrzlo na radku 2511(v tabulce jich je 2510!) a nic to mezitim nevykonalo. Ale posuvnik se prekresloval pekne 3
Jak uz rikal jakysi Komensky, zacni s necim jednodussim, formulare uz chteji slusnou porci zkusenosti

Pokud jako posledni argument SVYHLEDAT pouzijes nulu (tj. hledat absolutni shodu), nemusi byt data serazena.

Jinak kod se sekl hned na prvnim radku z jednoducheho duvodu: jako cislo radku a sloupce prirazujes textovou hodnotu. Takze reseni je spousta, kazda ma sve uskali, treba tu promennou vynasob jednickou anebo prozen funkci CLng() nebo CInt(), ktera z toho udela cislo. Ale nevidim tam zadnou ochranu vuci nesmyslnemu zadani (treba do cisla slupce kdyz sa zada text), taky zadavani nazvu listu rucne je opruz... Ale jako cvicna uloha na ktere se neco naucis to jde 1

Tak jsem provedl zkousky v US excelu 2010.
Kdyz jsem nelogicky zatrhl volbu na karte Properties (Vlastnosti) Don't move or size with cells, tak se to zacalo chovat normalne. Toz to taky prubnia dej vedet vysledek 1

Nic nedoslo, ani spam filtr nic nezachytil

Vzorcem: mozna jo, pokud bude zaruceno mnoho zjednodusujicich podminek (napr. vzdy tam bude trojcisli, nebudou se tam vyskytovat mezi cisly carky, lomitka, mezery.....
Makrem - lze, viz http://wall.cz/index.php?m=topic&id=9933#post-9952

Tak jsem nepochopil, cos chtel rict. Vykladam si to, ze si to nakonec nejak zaridis po svym

mas to tam, dokonce muzes menit nazev mesice ve zlute bunce a bude to vracet poznamku z jineho mesice
Zaklad je vzorec SVYHLEDAT(VLOOKUP) - doporucuji vsem si to nastudovat 3
Zbytek uz je jenom omacka, abu to nevracelo nuly a chybove hodnoty, pokud to nenalezne shodu

To by ale chtelo vedet nejvhodnejsi zpusob jaky zvolit. Kolik tam bude tech vzorecku, jake kejkle se s nima budou dit atd. A taky uplnou cestu ke zdrojovemu souboru, listu (\\nasdisk\Stylishrooms\[Zásoby.xls]Zásoby'!$A$1:$P$65536)
Idea je takova, ze po kliknuti na tlacitko by si makro vytvorilo jednorazove spojeni do zdrojoveho sesitu (jehoz nazev bude treba v nejake bunce), odtama pumplo bud vyberova data anebo vsechna data a pak by spojeni ukoncilo. Pozor, vytvoreni spojeni neni otevirani zdrojoveho sesitu. Bud by mohlo celou databazi ulozit/updatovat na list (treba skryty) anebo jenom vytahnout na list potrebne hodnoty z docasne virtualni databaze, aby samotny sesit nebyl zatizeny tunou dat. Zalezi, co bys uprednostnil. Neni to zas tak slozite, jak by se mohlo zdat a tyto techniky malokdo pouziva 10

Nevim, jestli reseni pomoci VBA je povolene, ale tomu by zavreny sesit nevadil.

Tak jsem akorat tu analytickou praci, kterou vyvinul sikovny borec prede mnou, narval do megavzorce.
To je v tom cernem reseni.
Analyzou vzorce jsem pak zjistil, ze tam jsou nektere subvzorce, ktere pocitali min, max z konstant, tak jsem tu cast nahradil vyslednou konstantou, viz modre reseni.

Ale jak to tak znam, zase prijdes s tim, ze je jeste potrebne odecitavat z tech R,O,N smen povinne prestavky, coz je dalsi komplikace a rekl bych dost vyrazna.

Nemam odpovedi na sve otazky, tak jsem to udelal provizorne. Pokud to narazi na neshodu, tak ji napise do prislusneho sloupce.
Jeste bych rad podotkl, ze kdyz jsem kontroloval chovani makra za pomoci vzorcu v liste, tak treba pro vzorec COUNTIF ty tecky v nazvu listu predstavovaly problem, musel jsem ten nazev zavrit do apostrofu. (Mam US verzi 2010). Takze mozna kdyby to slo, tak radeji bych se vyvaroval v nazvu listu tecek, carek, stredniku, vykricniku... a misto toho pouzil pomlcku nebo podtrzitko. Prozatim to makru nevadilo, ale nevis, jake funcionality tam budes dobastlovat v budoucnu. Taky max pocet znaku v nazvu listu je omezeny (31), je dobre drzet v patrnosti


Strana:  1 ... « předchozí  4 5 6 7 8 9 10 11 12   další »

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