VBA: optimalizace, zrychlení funkcí
Napsal: 24 srp 2013 14:50
Zdravím.
Mám následující problém. Jsou zadané dva datumy a den v týdnu (čísla 1-7, kde 1 = pondělí). Potřebuji spočítat počet dní mezi těmito datumy, které odpovídají danému dni. Viz ukázkový sešit v příloze.
Problém není s počtem dní, ale s výjimkami, které jsou na listu parametry. Jsou tam vyjmenované dny, které se mají přeskakovat.
Potřebuji zda by někdo měl nápad, jak funkce urychlit, protože to trvá dost dlouho. Nevím zda je rychlejší procházet seznam parametru pomocí While nebo použít Find. To je asi jediné, co mě napadlo.
Jsou to 3 fce, fnPocetDni, v té se spouští fnJeVolnyDen (prochází parametry a hledá shodu na datum) a také fnDenVTydnu (z datumu určí číslo dne v týdnu a porovná jej se zadaným).
Výsledek háže 0, ale i s tou je pomalé. Chybu 0 jsem zatím neodstranil, ale jde o běh, nikoliv správné číslo.
Díky za nápady.
Mám následující problém. Jsou zadané dva datumy a den v týdnu (čísla 1-7, kde 1 = pondělí). Potřebuji spočítat počet dní mezi těmito datumy, které odpovídají danému dni. Viz ukázkový sešit v příloze.
Problém není s počtem dní, ale s výjimkami, které jsou na listu parametry. Jsou tam vyjmenované dny, které se mají přeskakovat.
Potřebuji zda by někdo měl nápad, jak funkce urychlit, protože to trvá dost dlouho. Nevím zda je rychlejší procházet seznam parametru pomocí While nebo použít Find. To je asi jediné, co mě napadlo.
Jsou to 3 fce, fnPocetDni, v té se spouští fnJeVolnyDen (prochází parametry a hledá shodu na datum) a také fnDenVTydnu (z datumu určí číslo dne v týdnu a porovná jej se zadaným).
Výsledek háže 0, ale i s tou je pomalé. Chybu 0 jsem zatím neodstranil, ale jde o běh, nikoliv správné číslo.
Díky za nápady.