A nemôžete použiť ComboBox ActiveX ?
Áno. Otvorte si zošit v ktorom sa chcete odkazovať. Otvorte si aj ten na ktorý sa chcete odkazovať. V tom, v ktorom budete písať vzorčeky, si ich napíšte tak, že pri písaní vzorca pri potrebe odkazovať na iný zošit sa do toho zošitu prekliknete na miesto ktoré potrebujete, a pokračujete v písaní vzorca. Enter. Ten zošiť z ktorého sa mali ťahať dáta zatvorte. Vzorce v zošite, kde ste ich písal by sa mali samé zmeniť na vzorce s plnou cestou k súboru. A funkčné.
Má to ale množstvo obmedzení, napr, absolútna cesta, čiže nemôžete meniť cesty k súborom.
Tak skúste. Ale vidím tam opäť problém. Ak si vložíte riadok v dni, tak sa do nového riadku dátum nevloží. Dá sa odchytiť vloženie riadku, ale musí sa použiť udalosť Worksheet_Change, čo má za následok stratu možnosti Undo v zošite. Tak rozmýšľam, či by sa nedalo urobiť ešte jedno tlačidlo, ktoré by spustilo procedúru, ktorá by skontrolovala vyplnenie všetkých dátumov v skrytom stĺpci C. Čiže by ste zaviedli kultúru, že po pridávaní a uberaní riadkov v dňoch, by sa použilo kontrolné tlačítko. Zabránilo by sa nefunkčnosti podmieneného formátovania pri prípadnom odkazovaní na "prázdny" dátum v pridanom riadku. Nemali by ste tak prísť o Undo.
Ak ho užívatelia oželejú, tak to môžeme urobiť v Worksheet_Change...
Presne tak, vždy si pozrite vzorec najskôr obyčajným kliknutím na bunku, či nieje maticový (obalený zloženými zátvorkami {...} ), pred tým ako doňho vstúpite dvojklikom, či vstupom do editora vzorcov, lebo tieto zátvorky Vám hneď zmiznú. A dopísať ručne sa nedajú, musíte iba stlačiť Ctrl+Shift+Enter. Tiež som sa tým kedysi mýlil.
Tak ?
Radenie čisto vzorcami, bez makra. Počíta sa aj s rovnakým počtom bodov. Sú na to potrebné 3 stĺpce (oranžové). Tie Vaše ,ak sú duplicitné (napr. Body) alebo nepotrebné (napr. Kvalifikace), treba zrušiť. Čísla v dátach som trochu zmenil, aby som navodil určité situácie, tak si to vyskúšajte.
Skúste teda toto:
Tak ?
Hmm, niekoľko problémov.
1. Výška tabuliek je vždy nemenná ?
2. Funkcia RANK v Q nemôže byť takto ako to máte. Lebo ona RANKuje všetky (!) hodnoty z O. Vy až po oRANKovaní vylúčite niektoré. To je zle, veď skúste zmeniť v riadku VZA 13550 na 12550. Kde sa Vám podela oRANKovaná "3" ?
3. Na čo presne slúži tá tabuľka 2 ? Potrebujete ju mať takto ako ju máte, alebo sa dá zmeniť a použiť ako ÚPLNÝ zdroj pre tabuľku 3. Ak to musíte mať takto, tak si ako zdroj pre t3 urobte ešte jednu, ktorá bude už vypočítaná, aby ste v t3 nepoužívali vzorce, ktoré odkazujú na inú tabuľku.
4. V t3 vzorce? To asi fungovať nebude, keď vy chcete meniť hodnoty, ich poradie, ale vzorce budú čerpať dáta z iných riadkov (po "zoradení").
Podľa mňa je ten návrh nešťastný.
Napr.
Myslíte niečo takéto ?
SK
=SUBSTITUTE(REPLACE(B2;1;FIND("\Nav.";B2)+4;"");".docx";"")
CZ
=DOSADIT(NAHRADIT(B2;1;NAJÍT("\Nav.";B2)+4;"");".docx";"")
Ten kód slúži ako oddeľovač a musí začínať na "\Nav.", ďalej musí to byť dokument ".docx". Ak kód bude začínať aj inak (napr. "\Doc.") alebo prípona môže byť napr aj ".doc", treba vzorec skomplikovať.
Napr takto
Sub Zapis()
Dim R As Long, RZ As Long, Z As Worksheet
Set Z = Worksheets("List1")
RZ = Z.Cells(Rows.Count, 12).End(xlUp).Row - 9
With Worksheets("List2")
R = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(R, 1).Resize(RZ).Value = Z.Cells(10, 12).Resize(RZ).Value
.Cells(R, 2).Resize(RZ, 6).Value = Z.Cells(10, 14).Resize(RZ, 6).Value
End With
Z.Cells(10, 12).Resize(RZ, 9).ClearContents
End Sub
Pod prvým stĺpcom každej tabuľky nesmie byť nič iné, lebo sa používa na zistenie posledného zaplneného riadku.
Nieje problém, ale trošku to ešte upresnite.
-bude sa zapisovať len jeden (ak áno tak ktorý) riadok z tabuľky, alebo celá tabuľka. Ak celá tak predpokladám iba zaplnené riadky.
-na čo sú tie zaškrtávacie polia, keď niesú prepojené s nejakou bunkou ? Aj tie treba po zápise zmazať? Ak áno, ako si ich potom budete vytvárať? Radšej by mali byť stále-nemenné v celej tabuľke. Ak sa prepoja s bunkou (aby mali nejakú funkciu tak musia), má sa odložiť aj ich hodnota? Lebo na to nemáte v tej "Databáze" dátové pole....
Ak myslíte úväzkom dĺžku pracovnej doby za deň, tak som tam vložil jeden Definovaný názov s názvom "Hod", v ktorom je počet hodín za deň. Vo vzorcoch, kde bolo počítané s 8 hodinami, som toto číslo nahradil práve týmto Definovaným názvom "Hod". Snáď som ich nahradil všetky. Treba to trochu otestovať. Ak je to teda to, čo ste myslela, tak si kedykoľvek zmeníte hodnotu v tomto Definovanom názve, a je to, ak myslíte niečo iné tak nič.
http://uloz.to/x5uj3r3E/dochazkovy-list-ii-xls
Na takúto pakáreň ma napadá jedine takéto niečo. Predpoklad je, že v každom dni MUSÍ byť slovo "Nepřítomnost", a hlavne v aktuálnom dni.
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.