To nieje problém, len prosím upresnite, či toto kopírovacie makro bude spúšťať zošit z ktorého sa bude kopírovať (xlsm), alebo zošiť do ktorého sa bude kopírovať (xlsm), alebo nejaký iný riadiaci zošiť (xlsm), a či tam treba zakomponovať aj zoznam listov na výber.
Dáme hru, či prídete na to, čo som Vám tam pomenil ? Ale nie, nedeste sa.
-riadok 11 si ťahá údaje z riadku 10
-vo všetkých vzorcoch, kde je SUMPRODUCT/SOUČIN_SKALÁRNÍ, som zmenil cez INDEX a pocet_dni, rozsah dní v riadku, inak SUMPRODUCT nepracoval správne s neexistujúcimi dňami.
-doplnil som vzorce na tie D a N v So/Ne/Sv
-vpravo do súčtu mesiacov som experimentálne dal "komplikovaný" vzorec cez INDIRECT/NEPŘÍMÝ_ODKAZ, kde si naťahá data z AH stĺpca všetkých mesiacov po zadaný mesiac v B1. Tu je nutné dodať, že sú napevno dané SK mesiace (CZ treba prepísať). Je to kvôli tomu aby Vám to nehádzalo chyby prepojenia.
-bunka B1 (číslo mesiaca) očervenie, ak sa nezhoduje číslo mesiaca s názvom mesiaca - podmienené formátovanie, a opäť sú tam SK názvy.
-netuším prečo tabuľka súčtov mesiacov počítala iba 4 mesiace - rozšíril som na 6.
-netuším prečo ich je iba 6, a pozor Január neobsahuje vzorec, nemám odkiaľ čerpať dáta do neho.
A prečo to všetko? Teraz kliknete pravým na list, Premiestniť alebo kopírovať, presunúť na koniec, vytvoriť kópiu, OK. Premenujete korektne list na nasledujúci mesiac a zmeníte číslo mesiaca v B1. Voalá, počet dní OK, spočítavanie smien na daný počet dní OK, spočítavanie doterajších mesiacov OK.
Príloha je žiaľ poškodená. Má veľkosť 0.
No neviem. Mne to na ten počítaný stĺpec E tiež nijako nefunguje. Na D áno. Ani SUM ani SUMIF, ani SUBTOTAL ani SUMPTODUCT... Možno niečo robím zle...
EDIT:
Hmm, ak si dám do vedľajšej bunky vypísať hodnotu z E, dostanem tam kde je zobrazený dátum 5.2.2016, hodnotu 0.1.1900. A z E17 kde nieje nič, dostanem 5.2.2016. WTF ???
Kódovo je to už docela zložité, hľadať ďalšie inštancie Excelu, rýchlo som pozrel napr tu, a do toho sa mi teda fakt nechce
Alebo matica
Ajáj, teraz ste mi to pripomenul. My sme to spolu vtedy mailom nedoriešili? Ale tuším nie, spomínam si, že som mal na posledy rozrobené to zamykanie. Ako ste s tým pokračil ? Ak budem zajtra na večer pri PC tak sa Vám na to zamykanie ešte môžem pozrieť. Aj na tieto drobnosti s výpočtami. Sorry, ale často sú master veci iné...
??? Čítali ste čo som pripísal do toho súboru červeným písmom na boku ?
Podmienené formátovanie nič nevykonáva. Iba podľa zadaného dátumu v B1 označí riadok, ktorý korešponduje so zadaným dátumom. Nič s dátami nerobí.
Potrebujete to všetko ošetriť makrami - teda programovacím jazykom VBA. Ja som Vám tam na ukážku naprogramoval to, že Vaša tabuľka je "akože databáza". A pri zmene dátumu v B1 sa do buniek R2 S2 T2 U2 načítajú tie dáta z "databázy".
Naopak pri zmene buniek R2 S2 T2, sa to čo do nich napíšete, zapíše do "databázy" do riadku, ktorý korešponduje so zadaným dátumom v B1.
Dátum, ktorý chcete upravovať, napr. pol roka dozadu, zadáte do B1. Do RSTU sa Vám načítajú hodnoty z o zadaného mesiaca. Môžete ich upraviť, a oni sa zapíšu na miesto v databáze, ktoré korešponduje so zadaným dátumom, teda prepíšu pôvodné.
Navrhujem rozdeliť stĺpec I na 2 stĺpce, kde bude rozpísaná suma za vodné a služby, keďže je predpoklad zmeny.
Netuším, ako Vám to inak vysvetliť. Ale mám dojem, že ste nečítal, čo som Vám napísal v súbore, a hlavne ste to asi neskúšal
Ešte by som navrhoval zaviesť databázu na druhý list, a do Vašej tabuľky ťahať data podľa kritérií v B1 pomocou VLOOKUP/SVYHLEDAT. Ale máte tam ďalšie 2 tabuľky s rôznymi informáciami, ktoré možno bude treba tiež odkladať...
A skôr ako sa opýtate : Zatiaľ netuším, kedy by som si na Vás urobil čas :(
To by som videl jedine na makro.
A prečo by to mal byť problém ? Ľavý Alt+F11, alebo karta Vývojár (ak ju nevidíte treba ju v Možnostiach zobraziť)-Visual Basic. A tam si nájdite makrá, ktoré sú buď v moduloch alebo priamo pod jednotlivými listami.
Napr...
lubo: Veľmi zaujímavé riešenie, a bez matice. Pomocou MATCH/POZVYHLEDAT sa dá nájsť Index nálezu, a VLOOKUP/SVYHLEDAT rovno hodnota. Pekné, pekné.
Len tak z brucha bez PC, skúste maticovo
=INDEX(A1:A1000;MAX((A1:A1000<>"")*(ROW(A1:A1000))))
Dajte prílohu, nech vidíme, či nejako makro neexitne Vaše udalosti.
Rozdielne sú deklarácie API funkcií. Od Office 2010 treba používať "PtrSafe" a niektoré parametre niektorých API sú namiesto Long - LongPtr.
Trochu bordel, ale to už je pokročilejšie. Keď sa po to dostanete, budete už vedieť použiť aj podmienený debuging (alebo ako sa to môže v Exceli volať), kde sa určuje pomocou # čo sa má použiť.
Link napr tu
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.