ještě drobná změna:
Application.Wait Now + TimeValue("00:00:01")
přesunuto na začátek makra
a v odpočtu změna for ... 5 to 0 místo 1
Funkce A a NEBO nelze v maticových vzorcích použít přímo, protože tyto funkce vracejí jeden výsledek, buď PRAVDA nebo NEPRAVDA, a maticové funkce vyžadují matice výsledků. Jinými slovy, provádíte matematické operace, například sčítání nebo násobení, s hodnotami splňujícími podmínku NEBO nebo A.
Takže zde uvedený znak pro násobení (*) je vlastně A pro podmínky ....= 1 A ....= "ok"
něco podobného, ale podle prvního znaku
Řešil jsem to bez přílohy takto.
postup pomocí několika vzorců.
vyhodnocení podmínek
vyhodnocení duplicit
poskládání za sebou
Asi by to šlo některé vzorce sloučit a zbytek sloupců skrýt.
Pokud je tisk vyvolán makrem, stačí do makra na konec dopsat například
Cells(1, 1) = Cells(1, 1) + 1
v tom případě v buňce A1 bude počet tisků.
Jako vždy by docela byl fajn příklad, protože ani mnozí zde netuší, co (vzorce, hodnoty, formáty) se má kopírovat, ani délka řádku (ačkoli se dá kopírovat samozřejmě celý, ale je to zbytečné) není jasná.
Takže jak píšeš "není to nic složitýho, ale ..."
jde to i makrem (samozřejmě), ale jde to i tak
není třeba makra, stačí SUMIF
Jestli je tedy výpočet správně, pak v příloze je to makrem na více sloupců. Je potřeba zadat jen číslo prvního sloupce (v příkladu 4) - pokud bude jinak. Vyzkoušeno asi na 180 sloupcích.
@ misocko (teď už jsem se trefil) , předpokládám, že Ty jsi to dělal tak, že to vždy dopočítá do celého limitu.
Já jsem to udělal tak, že to bere jednotlivé hodnoty a sčítá a pokud je to víc než limit, napíše jen dosažený součet menší nebo max. roven limitu.
No tak uvidíme.
Je to v souboru funkcemi excelu a i makrem, takže pokud je to to pravé, vyber si jestli tak či onak, ale pomocí fci excelu je tam hromada skrytých vzorců, které jsem už neuměl zjednodušit. Snad eLCHA, jestli se tu podívá nebo někdo jiný. Makrem mi to přijde jednodušší, jen je třeba upravit Range a kam výsledek.
edit:když si čtu znovu a znovu požadavek, tak si myslím, že je to spš tak, jak to udělal misocko, ale s tím rozdílem, že tam nevíme, kde v následujícím dnu skončilo počítání a kde má začínat.
@misocko - omlouvám se
já jsem si myslel že patrez napíše vzor. tedy vstupy jsou tak a tak a výstup má vypadat tak a tak (čísla - výsledky). no nestalo se tak, takže tápeme a možná řešíme něco úplně jiného.
tak nevím, možná tomu stále nerozumím, ale měl jsem zato, že když je nastavený nějaký limit v bunkách D2-D10, konkretně třeba v bunce D2 bude číslo 100. Pak scítám hodnoty v bunkách D22:D37 a jakmile bude součet menší nebo rovno hodnotě v D2 (třeba 89, maimálně však 100),zapíšu do D12. V seznamu čísel, která jsem sčítal jsem pužil jako poslední třeba číslo z D26, takže další součet jako první použije číslo z D27 a zase pokračuje ve sčítání až dosáhne limitu v D3, zapíše do D13.
Pokud to má být takto, udělal sem to jen za pomocí fcí excelu. To co tu je od Marjankaj počítá jinak, možná správně, ale v tom případě jsem to fakt nepochopil, což se může stát. Dej vědět, jestli má smysl to tu dát jak jsem to sesmolil já. Je tam ale více skrytých sloupců. Pomocí nějakých megavzorců jsem to dohomady nedal.
asi jsem v prvopočátku nepochopil system a vyjadřil se špatně.
má to být tak že sčítám hodnoty z D22 - D37 až nabudou hodnoty z ř. D2-D10, tím sčítání ukončím a do D12 - D20 napíšu hodnotu součtu,(který tedy nepřevyšuje limit D2-D10),tzn. maximální hodnotu součtu, který je menší než limit. A zbytek připočíst k součtu v dalším řádku ?
asi fce POSUN
edit:
nastavit oblast, která bude sečtená podle nějakých hodnot v konkretních bunkách určitě jde, ale nastavit podle bunky ve které možná je nebo není číslo, to nejde. Pokud by byl nějaký systém vyplňování (max. min. datum, poslední datum atd.), pak se řešení určitě najde
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.