Příspěvky uživatele


< návrat zpět

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

Vcera se probiralo neco hodne podobneho
http://wall.cz/index.php?m=topic&id=10536

Toto jsou hodne zapeklite ulohy. Pokud bys byl schopen zajistit, ze kazdy dotycny bude mit kazdy den jeden prichod a jeden odchod (tedy ze si nezapomene cviknout), nesplete si prichod s odchodem a nebude na nocni smene, tak ve sloupci I to se da spocitat treba takhle - maticovi profesori jsou schopni sestavit dalsich 10 variant 3
=SUMIFS($B$2:B201,$G$2:G201,G2,$A$2:A201,A2,$F$2:F201,"Odchod")
-SUMIFS($B$2:B201,$G$2:G201,G2,$A$2:A201,A2,$F$2:F201,"Prichod")


Ale ze sve praxe vim, ze takovyhle "laboratorni" predpoklad je hovadina a ve skutecnosti je to podstatne komplikovanejsi. Ja jsem mival na to tak komplikovana makra, ktera mi regulernost zadanych prichodu a odchodu cyklicky kontrolovala, presto to byla nocni mura na konci kazdeho mesice to dat dohromady. Jednalo se o cca 30 zamestnancu ve 3 smennem provozu, kde se hralo i na prescasy. Prijmi mou soustrast 2

V priloze posilam vymakany soubor (nikoli ode mne) pro vypis polozek zvoleneho adresare, vcetne podadresaru a vypisu cesty, bez omezeni poctu urovni.
Zacina se dvojklikem ve zlutych polich, pricemz dvojklik v prvnim otevre dialog, kde zvolime adresar k prohledavani. Ve druhem zlutem poli muzeme zvolit filtr pro typ souboru a ve tretim dvojklikem urcujeme jestli vypis vztahnout i na vnorene podadresare nebo ne. No a odstartuje se to tlacitkem.
Hypertexty se tam sice hromadne nevkladaji, ale po najeti na danou polozku se pravou mysi otevre dany soubor prave pomoci hypertextu.

Tak to si odkrokuj, anebo dej v kodu stopku (F9) nekam sem a dal to krokuj F8
wsH.Activate
wsH.Cells.Delete
i = Range("A1").CopyFromRecordset(rcd1)
dtDatum = Range("A1")

Pokud to natahlo data z externiho souboru, tak v bunce A1 na pomocnem liste musi byt nove datum. Jestli neni, tak patrej kde muze byt problem, ja tam nevidim :)

Sice neuvadis verzi sharepointu, ale i tak je to do jiste miry blackbox, kde hodne zalezi na konfiguraci. Ja jsem si sahal na nasem sharepointu do souboru skrze ADODB connection.

Zkus tato vlakna, kde najdes i potrebny kod:
http://wall.cz/index.php?m=topic&id=10300
http://wall.cz/index.php?m=topic&id=10258

Podbarveni udelas podminenym formatovanim zavislym na hodnotach ve sloupcich E a F. Zaskrkavatka zlinkujes s hodnotou ve sloupci E a F.
Osobne zde vidim zbytecnou rezii s vytvarenim a linkovanim zaskrkavatek, jednoduse bych pres overeni bunek povolil pouze nejake binarni hodnoty (0, 1 nebo ANO NE nebo TRUE FALSE) a podle toho tam napasoval ten podmineny format.

Zkousel jsem ledacos, ale na mych office 2010 to zkratka nejede.
Shell byl schopen otevrit ten textak, ale SendKeys nedelalo nic.
Ale zkus treba nasledujici kod z helpu, treba se nejak inspirujes. Kdyz to spoustim F5, tak to jede, kdyz to krokuju tak nic
Sub ControlCalc()

Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1) ' Run Calculator.
AppActivate ReturnValue ' Activate the Calculator.
For I = 1 To 100 ' Set up counting loop.
SendKeys I & "{+}", True ' Send keystrokes to Calculator
Next I ' to add each value of I.
SendKeys "=", True ' Get grand total.
SendKeys "%{F4}", True ' Send ALT+F4 to close Calculator.
End Sub

Potiz je v tom, ze jedna bunka ma omezenou maximalni vysku a tedy pocet zalomenych radku. Kdyz v kodu zaremujes polovinu toho stringu, tak se to do bunky vleze a da se to tisknout. Asi bych zvazil, kolik radku ten vystup bude mit a podle toho bych zaangazoval i druhou resp treti bunku.

Pokud se ptas na to, jak ovladat ten textak z excelu, tak asi pres Shell, ale presne nevim. Ale pokud to jde o to, vytisknout ten obsah textaku, tak ho mas nacteny v promenne TextFile1.
Vloz ho do listu do bunky A1 a vytiskni to odtud.
Mozna bude potreba si trochu pohrat s formatem te bunky, tak aby ten vytisk z excelu byl totozny s vytiskem z textaku.

Zrejme jsi mi neporozumel, na tom formulari se nic nezmeni. Pouze se to nebude vyplnovat primo do nej, ale do jinych, logicky usporadanych a interaktivnich bunek, z nichz se to do formulare prenese vzorcama. Cili bude zajisten puvodni cil: aby bylo umozneno uzivateli vyplnit formular na dovolenku rychle a spravne.
Predpokladam, ze se to pak stejne vytiskne a to uz nikdo nepozna, ze ten formular nebyl vyplnen primo ale neprimo. A i kdyby se to netisklo ale dal datove zpracovavalo, i tak to bude takhle lepsi.

Ta myslenka vse napasovat na formular schvaleny jeste za Husaka mi prijde zcestna. Ja bych to pojal uplne obracene, asi nejak takhle:
Zadavani udaju bych nedelal do formulare, ale do vyhrazenych bunek (na jinem nebo stejnem liste), tak aby byly logicky pod sebou:
1.Jmeno
2.Datum prvniho dne (automaticky se vypocita den tydne)
3.Pocet dnu (automaticky se vypocita den tydne posledniho dne)
4. Misto
5. Kontrola, jestli je to zadane OK, jestli tam neni vikend nebo svatek...

Vsechny ostatni bunky budou zamceny tedy i ten formular, ktery se bude sam vyplnovat, nebot tam budou linky do zadavacich bunek. Na toto nebudes potrebovat VBA, i ta kontrola se da udelat vzorcama a overenim.
Oblast tisku bude omezena na formular.

Pokud pouzijes overeni bunek s nejakou hlaskou uzivateli, tak stoji za to tu hlasku VELMI dobre promyslet, aby uzivatele neurazela, ale aby ho lidsky navedla na spravne zadani. Debilnich hlasek od omezenych ajitaku jsem uz cetl stovky, nejmene polovina z nich byla odpudivych 8

Pokud to udelas dobre, ani JEDINY spolupracovnik nebude mit problem to vyplnit. Pokud to i tak nekdo podela, tak nehledej chybu v dotycnem ignorantovi, ale mas to spatne, prinejlepsim nedokonale 3

zkus soubor v priloze. Nasucho se to trefuje obtizne, takze par drobnosti tam asi bude zlobit, ale to uz hrave doladime 1

Pomoci vzorce (predpokladam, ze se jedna o sloupec A)
do prvni prazdne bunky pod "Denisa" si das vzorecek = bunka o radek vys (napr. =A4).
Pak das kopirovat
Pak oznacis cely sloupec A
zmacknes F5
oznacis prazdne bunky (blank)
vlozit
a pak cely sloupec copy
a vlozit jako hodnoty

Hele rikals, ze ti to casovani funguje paradne. Nemam zadne velke zkusenosti s OnTime procedurama, ale rekl bych, ze se samy z modulu nespusti. Ja osobne pouzivam jednu, kterou mam v osobnim sesitu maker (PERSONAL), ta funguje. Treba se pletu, ale myslim si, ze "OnTime" proceduru musis narvat do ThisWorkbook jako udalostni proceduru, ktera se spusti s otevrenim sesitu a pak ceka na svuj cas:
Private Sub Workbook_Open()
Application.OnTime TimeValue("10:00:00"), "MailCDO"
End Sub

Pokud ten sesit otevres pred danou hodinou, tak uderem desate se zavola makro "MailCDO", ktere jako prvni vec udela to, ze si zjisti nejvetsi hodnotu ve sloupci D. Pokud ta nebude vetsi nez 24, tak se to ukonci, jinak vygeneruje e-mail.

Tak v tom pripade si dej jako prvni prikaz v Sub MailCDO(), hned pod deklaracemi:
If Application.Max(Worksheets("List1").Range("D:D")) < 24 Then Exit Sub


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

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