Me to AL ovo taky psalo jiný datum.
Sorry za mystifikáciu, chybička se vloudila (neviem čo som skopíroval, páč mi to fungovalo korektne a súbor som zmazal), faktom ale je, že pri opätovnom pokuse to nefungovalo - som sem ten vzorec buď špatne prepísal alebo to proste skonil. Každopádne, opičákov vzorec je funkčný, páč keď som to pred chvíľou písal znovu, tak som dospel prakticky k rovnakému výsledku:=DATUM(rok;1;1)+7*(tyzden-1)-DENTÝDNE(DATUM(rok;1;1);2)+1 (dátum pondelka daného týždňa). Lubov vzorec som nekontroloval ale pri jeho schopnostiach by som si tipol, že bude funkčný...
edit: už kontroloval a logika je prakticky rovnaká, čiže funguje i Lubov, pochopiteľne..
@opičák
to je to samé, akurát nejaké roznásobenie zátvoriek
každopádne, pre porovnanie dobré...
Znam cislo tydne a rok a potreboval bych podle toho doplnit datumy jednotlivych dni v tom tydnu.
Skús toto (moc som to ale netestoval)
Pre pondelok: =DATE(rok; 1; 1)+(7*(tyzden-1)-(7-WEEKDAY(DATE(rok; 1; 1); 2)))
Každý nasledujúci deň v týždni pripočítať plus jedna...
Stačí sa pozrieť do nápovedy k funkcii:
There are two systems used for this function:
System 1 The week containing January 1 is the first week of the year, and is numbered week 1.
System 2 The week containing the first Thursday of the year is the first week of the year, and is numbered as week 1. This system is the methodology specified in ISO 8601, which is commonly known as the European week numbering system.
Return_type Week begins on System
1 or omitted Sunday 1
2 Monday 1
11 Monday 1
12 Tuesday 1
13 Wednesday 1
14 Thursday 1
15 Friday 1
16 Saturday 1
17 Sunday 1
21 Monday 2
čiže ako druhý argument funkcie, pokiaľ to teda má byť podľa tej normy, máš použiť 21 namiesto 2. Excel počíta správne, ovšem podľa toho, čo mu zadáš.
mimochodom, domnienka takze Excel by mel vedet ze to ma pocitat podle ceske normy je nonsens, predstav si, že svoj súbor pošleš niekomu v US a on tam potom teda bude mať automaticky týždeň, ktorý ty máš označený ako 1, označený ako 53 len preto, že má iné národné prostredie a excel to má poznať? Prípadne ešte prepočítať všetky vzorce na tom postavené? To asi ťažko. Miesto domnienok je potrebné dosadzovať do funkcií správne argumenty.
WEEKNUM vracia číslo týždňa v danom roku, čo je teda podľa teba špatne?
lubo, eLCHa i ja v podstate píšeme to samé, kód pevnej medzery je (ľavý) Alt+0160 (a takto je možné pevnú medzeru vložiť do dialógového okna Nájsť a Nahradiť), čo v uvedenom VBA scripte je práve Chr(160)....
Označte oblasť, v ktorej chcete odstrániť medzery a spustite nasledujúci kód (vygooglil som v dobe, keď som ešte nebol schopný písať kódy sám a tej doby ho stále používam):Sub RemoveAllSpaces()
'David McRitchie 2000-10-24
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Selection.SpecialCells(xlConstants).Replace what:=Chr(160), _
Replacement:="", _
lookat:=xlPart, SearchOrder:=xlByColumns, MatchCase:=True
Selection.SpecialCells(xlConstants).Replace what:=Chr(32), _
Replacement:="", _
lookat:=xlPart, SearchOrder:=xlByColumns, MatchCase:=True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Cells(n, 8) = Round(Cells(n, 9) / (Cells(n, 1) - 41532), 2)
Testoval jsem jen jednu hodnotu, protože to stačí. Rozumiem, vychádzaš z prílohy OP. Ja som do prílohy nenazeral a tak ma napadlo, že pokiaľ bude napr v A2 nenumerická hodnota a v B2 numerická, tak makro skočí do chyby...
@kp57
"potřeboval bych aby pokaždé když zapíšu hodnoty"
má sa teda jednať o udalosť Worksheet_Change, nie Worksheet_SelectionChange
Krom toho, prečo testuješ iba hodnotu v stĺpci A a nie i hodnotu v stĺpci B??? Platí i pre opičáka..
Skús si upraviť toto (vkladá komentár do aktívnej bunky):Sub Test()
With ActiveCell
.AddComment
.Comment.Visible = True
.Comment.Text Text:="Autor komentara:" & Chr(10) & "ajldfjalkdjhklhkhkhkjlfjjjjjjjja"
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End With
End Sub
edit:
tu sa mi podarilo obísť ten select, v podstate šlo o to zistiť, vlastnosť akého objektu je Autosize - je to objekt TextFrame:Sub Test1()
Dim ComSh As TextFrame
With ActiveCell
.AddComment
.Comment.Text Text:="Autor komentara:" & Chr(10) & "ajldfjalkdjhklhkhkhkjlfjjjjjjjja"
Set ComSh = .Comment.Shape.TextFrame
ComSh.AutoSize = True
End With
Set ComSh = Nothing
End Sub
On to Paloo dá, je to šikovný chlapec a toto naozaj nie je príliš zložité..
Mal by som však jednu otázku: Prečo je na liste TIPS 2014 zamestnanecké č. dvakrátkrát a hodnoty sa nezhodujú? (stĺpec B a C)
ja som nepovedal ani slovo o klasickom filtri, čítaj pozorne...
btw, tlačítko je tá posledná a pomerne jednoduchá vec
tak kdyby nekdo mel neakej elegantni napad sem snim diky Naštuduj si rozšírený filter a jeho používanie.
No, ešte by si mal dodať, že vzorový súbor (súbory) sem dať nemôžeš, páč obsahuje citlivé dáta a ten vtip by potom fakt nemal chybu
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.