Příspěvky uživatele


< návrat zpět

Strana:  1 2 3 4 5 6 7 8 9   další » ... 228

S údajovým pruhom je komplikácia - nemožnosť nastavenia MAX na relatívnu bunku (ani pomocou def. názvu). Teda by ste musel nastaviť pre každú bunku samostatné PF, MIN na 0 ale MAX pre každú bunku samostatne na jej adekvátnu hodnotu v C.

Normálne to funguje. Ak by som to neotestoval, napíšem, že som netestoval. Tu som to doplnil ešte o nájdenie správneho adresára k Desktop, a preskočenie prepísania pôvodného súboru "novy.xlsx", ošetrenie chyby pri rušení naplánovania (ak makro bolo ukončené, premenná sa neuchovala, a nastane chyba).
Spúšťate to cez "nacas".

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 5
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 5

??? 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.


Strana:  1 2 3 4 5 6 7 8 9   další » ... 228

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Vodorovný teploměr v buňce

GeorgeK • 1.12. 12:26

Vodorovný teploměr v buňce

elninoslov • 1.12. 10:21

Vodorovný teploměr v buňce

Stalker • 1.12. 10:01

Vodorovný teploměr v buňce

GeorgeK • 1.12. 9:15

Spustit makro v určitý čas

Baja • 28.11. 20:11

Spustit makro v určitý čas

elninoslov • 28.11. 17:09

Spustit makro v určitý čas

Baja • 28.11. 12:51