Ak čas už bol, nastaví sa ďalší deň. S časovačom v Exceli ale býval často problém, že sa spúšťal aj po zatvorení Excelu. Vyskúšajte. Na skúšanie si nedávajte 18:00:00 ale nejaký bližší čas
Pridal som aj to, aby sa ukladanie anulovalo po zatvorení súboru, a naopak, aby sa automaticky nastavilo pri otvorení súboru (toto si ale aktivujte až následne, najskôr si nastavte čas ako chcete). Prípadne sa automatická aktivácia dá urobiť na msgbox s otázkou na užívateľa. Ale potom treba zase vyriešiť, ako sa to vlastne bude spúšťať...
Do modulu:
Public New_Save_Time As Date
Sub SaveSheet()
ThisWorkbook.ActiveSheet.Copy
With ActiveWorkbook
With .Worksheets(1).UsedRange
.Value = .Value
End With
.SaveAs "C:\Users\baby\Desktop\novy.xlsx"
.Close False
End With
nacas
End Sub
Sub nacas()
New_Save_Time = Date + TimeValue("18:00:00")
If New_Save_Time < Now Then New_Save_Time = New_Save_Time + 1
Application.OnTime New_Save_Time, "SaveSheet"
End Sub
Sub Cancel_Schedule()
Application.OnTime EarliestTime:=New_Save_Time, Procedure:="SaveSheet", Schedule:=False
End Sub
Do modulu Tento_zošit:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Cancel_Schedule
End Sub
Private Sub Workbook_Open()
' nacas
End Sub
Ale keď tam nie je dátum, tak to je asi číslo dňa 0, teda 1.1.1900. To sa asi načakáte.
Bez overenia : skúste dať Date() + TimeValue("18:00:00"), ale aj tak najskôr skontrolujte či Now() náhodou nie je väčší (teda či už 18:00 nebolo).
DTPicker ale nefunguje na x64 pokiaľ viem.
Možno by stálo za zváženie aj niečo takéto podobné:
https://trevoreyre.com/portfolio/excel-datepicker/
funguje na x64.
Set compld2 = Range("B:B").Find(What:=idsearch, After:=Range("B1"), LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlPrevious)
Tak len doplním ten najkomplikovanejší variant, ak sú mesiace na preskáčku vyplnené a nevyplnené, a potrebujete súčet X vyplnených od konca.
2 Definované názvy
MESIACE:
=OFFSET(Hárok1!$B$9;;;;LOOKUP(2;1/(Hárok1!$9:$9<>"");COLUMN(Hárok1!$9:$9))-1)
=POSUN(Hárok1!$B$9;;;;VYHLEDAT(2;1/(Hárok1!$9:$9<>"");SLOUPEC(Hárok1!$9:$9))-1)
SPLNENE:
=MATCH(Hárok1!$G$5;COUNTIF(OFFSET(Hárok1!$B$9;;COLUMNS(MESIACE)-COLUMN(MESIACE);;COLUMN(MESIACE)-1);"<>");0)
=POZVYHLEDAT(Hárok1!$G$5;COUNTIF(POSUN(Hárok1!$B$9;;SLOUPCE(MESIACE)-SLOUPEC(MESIACE);;SLOUPEC(MESIACE)-1);"<>");0)
no a výsledný vzorec:
=IFERROR(SUM(OFFSET(B9;;COLUMNS(MESIACE)-SPLNENE;;SPLNENE));SUM(MESIACE))
=IFERROR(SUMA(POSUN(B9;;SLOUPCE(MESIACE)-SPLNENE;;SPLNENE));SUMA(MESIACE))
Napadá ma zložitejší maticový vzorec (Ctrl+Shift+Enter), ale neviem či mobilný Excel žerie matice. Počiatočný dátum je v I1, a žiadne makro netreba:
=SUM(ISEVEN(ROW(C4:I108))*{1\1\1\1\1\1\1}*(C4:I108>=I1)*(C4:I108<DATE(YEAR(I1)+1;1;1))*ISODD(ROW(C5:I109))*{1\1\1\1\1\1\1}*(IFERROR(SEARCH("m";C5:I109);0)>0))
=SUMA(ISEVEN(ŘÁDEK(C4:I108))*{1\1\1\1\1\1\1}*(C4:I108>=I1)*(C4:I108<DATUM(ROK(I1)+1;1;1))*ISODD(ŘÁDEK(C5:I109))*{1\1\1\1\1\1\1}*(IFERROR(HLEDAT("m";C5:I109);0)>0))
EDIT:
Ale veď ono by stačilo asi iba COUNTIFS, normálne nematicovo:
=COUNTIFS(C4:I108;">="&I1;C4:I108;"<"&DATE(YEAR(I1)+1;1;1);C5:I109;"*m*")
=COUNTIFS(C4:I108;">="&I1;C4:I108;"<"&DATUM(ROK(I1)+1;1;1);C5:I109;"*m*")
=SUM(OFFSET(B9;;COUNT(9:9)-G5;;G5))
=SUMA(POSUN(B9;;POČET(9:9)-G5;;G5))
Ale buďte si v oboch prípadoch vedomý toho, že sa musí jednať o súvisle vyplnené bunky. Ak niekde bude nevyplnený mesiac, tak to bude rátať zle. V takomto prípade bude vzorec nie s použitím COUNT/POČET ale s LOOKUP/VYHLEDAT.
=SUM(OFFSET(B9;;LOOKUP(2;1/(9:9<>"");COLUMN(9:9))+1-G5;;G5))
=SUMA(POSUN(B9;;VYHLEDAT(2;1/(9:9<>"");SLOUPEC(9:9))+1-G5;;G5))
Prípadne (a to bude najzložitejšie) ak by sa mali spočítať iba vyplnené mesiace. Teda pri 3 prázdnych mesiacoch niekde v priebehu, by sa malo zrátať obdobie 15 mesiacov. Na to sa ešte pozriem, ak bude treba...
Takže ide o to, spočítať, koľko je tam buniek obsahujúcich písmeno "m"?
=SUM(OFFSET(B9;;COUNTA(8:8)-G5;;G5))
=SUMA(POSUN(B9;;POČET2(8:8)-G5;;G5))
Ovládať webový Outlook asi nepôjde. Pozrite si, či by na odosielanie vyhovovala CDO metóda (meno a heslo do mailovej schránky by bolo priamo v makre ako text !).
Paráda, funguje, ďakujem!
Človeče, kam Vy na toto chodíte ? ... To je hodnotnejšie, ako sa pýtať Googlu 
??? Veď stačí iba do bunky C3 napísať =B3-B2, a vzorec z C3 za ten malý štvorček vpravo dole natiahnuť po C1000 alebo kam... alebo Ctrl+C na bunke C3, označiť C4:C1000 a Ctrl+V.
Posun môžete riešiť aj cez OFFSET/POSUN alebo INDIRECT/NEPŘÍMÝ_ODKAZ.
Zdravím dámy a páni.
Riešil ste už niekto A-Z radenie v PQ v lokálnej abecede?
Mám napr.:
Čistý
Ábel
Bublina
Žuvačka
Zvon
SK Excel to zoradí správne :
Ábel
Bublina
Čistý
Zvon
Žuvačka
No SK PQ dá všetku diakritiku až za "Z" :
Bublina
Zvon
Ábel
Čistý
Žuvačka
Nemôžem nájsť riešenie.
PS: Áno stále sa to dá dosortovať následne v hotovej Tabuľke v Exceli, no potreboval som One-Click riešenie.
Ďakujem.
=IFERROR("Jistina - "&REPLACE(REPLACE(A1;1;FIND("ANO / NE 1";A1)+10;"");FIND(" 0 21";REPLACE(A1;1;FIND("ANO / NE 1";A1)+10;""));LEN(A1);"");"")
=IFERROR("Jistina - "&NAHRADIT(NAHRADIT(A1;1;NAJÍT("ANO / NE 1";A1)+10;"");NAJÍT(" 0 21";NAHRADIT(A1;1;NAJÍT("ANO / NE 1";A1)+10;""));DÉLKA(A1);"");"")
alebo
=IFERROR("Jistina - "&TRIM(LEFT(SUBSTITUTE(REPLACE(A1;1;FIND("ANO / NE 1";A1)+10;"");" 0 21";REPT(" ";LEN(A1)));LEN(A1)));"")
=IFERROR("Jistina - "&PROČISTIT(ZLEVA(DOSADIT(NAHRADIT(A1;1;NAJÍT("ANO / NE 1";A1)+10;"");" 0 21";OPAKOVAT(" ";DÉLKA(A1)));DÉLKA(A1)));"")
Prílohu som ešte nepozeral. Mám rozpracované to čo som spomínal. Bude to ukladať disk priamo do spoločnej tbl, s tým že nahradí predchádzajúce údaje z disku s rovnakým názvom, prípadne pridá celý nový disk. Ďalšie listy budú zbytočné. Ale je to zložitejšie na premyslenie, je to na 2. koľaji. Dám vedieť.
Neviem síce čo chcete označiť, ale skúste nepoužiť xlDown, ale od konca xlUp. A pracujte s určite vyplneným stĺpcom, čo A nieje.
Lomítko "\" na konci - ako som písal minule, bez neho to bola asi prapôvodná vizuálna požiadavka. Neviem.
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.