Mohlo by fungovat tohle:
Set stud1 = Selection.Find(What:="Štúdium")
Set studium = Selection.FindPrevious(after:=stud1)
studium.Select
dalo by se i vzorcem, předpoklad je použití JEN pomlčky a čárek jako oddělovačů a tečky před měsícem
=1+HODNOTA(ČÁST(A1;1+HLEDAT("#";DOSADIT(DOSADIT(A1;"-";",");",";"#";DÉLKA(DOSADIT(A1;"-";","))-DÉLKA(DOSADIT(DOSADIT(A1;"-";",");",";""))));HLEDAT(".";A1)-HLEDAT("#";DOSADIT(DOSADIT(A1;"-";",");",";"#";DÉLKA(DOSADIT(A1;"-";","))-DÉLKA(DOSADIT(DOSADIT(A1;"-";",");",";""))))-1))-HODNOTA(ZLEVA(A1;HLEDAT(",";DOSADIT(A1;"-";","))-1))
ENG (bez záruky překladu)
=1+VALUE(MID(A1,1+SEARCH("#",SUBSTITUTE(SUBSTITUTE(A1,"-",","),",","#",LEN(SUBSTITUTE(A1,"-",","))-LEN(SUBSTITUTE(SUBSTITUTE(A1,"-",","),",","")))),SEARCH(".",A1)-SEARCH("#",SUBSTITUTE(SUBSTITUTE(A1,"-",","),",","#",LEN(SUBSTITUTE(A1,"-",","))-LEN(SUBSTITUTE(SUBSTITUTE(A1,"-",","),",",""))))-1))-VALUE(LEFT(A1,SEARCH(",",SUBSTITUTE(A1,"-",","))-1))
Pro toto je nutné nejdříve zamknout list a teprve potom celý sešit. Při zamykání listu by měla vyskočit tabulka, kde se dá odškrtnout políčko "vybrat zamknuté buňky". Když se to takto nastaví, lze se pohybovat jen po odemknutých buňkách s to co píšete není možné provést.
Možná jsem to špatně pochopil, ale výsledek té funkce má dávat datum vždy o měsíc pozadu?? a to KDYŽ jen kompenzuje 2 místa pro měsíc?
Jestli ano, měl bych jiný postup:
promenna= Format(Application.WorksheetFunction.EDate(Date, -1), "yyyy_mm")
ještě by taky šlo použít kopírování:
Range("C3:C214").Copy
Range("F3:F214").PasteSpecial Paste:=xlPasteValues, Operation:=xlSubtract
Application.CutCopyMode = False
pro odečítání, pro přičtení pak s =xlAdd
Ještě k tomu, jak elninoslov zmínil, že sloupců na 10 let bude hodně do šířky. Já bych si to udělal tak, že bych v 1.sloupci vyšel z datumu DNES() a třeba na dalších 11 sloupců přidal 1 měsíc k předchozímu. Tak bych měl stále aktuální stav na 1 rok dopředu.
Ještě jsem to poupravil s pojmenovanou dynamickou oblastí
Maticovým vzorcem, viz.příloha. Vyzkoušejte, snad to bude ono
Tady asi bude potřeba použít prvky ActiveX a sešit uložit jako .xlsm
argddsver:
Vovka už tu není, ale v jeho příloze 31223_klikacipole.zip je zaškrtnutí políčka děláno pomocí VBA makra a vyhodnocení počtu zaškrtnutých políček už jenom vzorcem POČET2 - to jsou ty černé sloupce po stranách. Snadné.
V makru si zjistit číslo vhodného řádku dole v tabulce a pak v kódu použít:
ActiveWindow.ScrollRow = č.řádku dole
Vzorec určitě je, viz.příloha
Trochu jsem to popsal v souboru.
edit: ve výsledné tabulce je pak potřeba nastavit zalamování textu!
Zkusil jsem to přes Power Query - a šlo to! Nevím zda je to pro Vás použitelné, jiné řešení zatím nemám.
Jen nápad, co to zkusit obrátit transpozicí, funguje to, ale nevím účel celého toho, zda je to použitelné.
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.