Na SK/CZ prevody myslím neustále, ale teraz som na to zabudol. Pritom ma to mohlo trknúť, keď som tam ten vzorec chcel zapísať v EN, tak ako sa to pri vkladaní vzorca vo VBA robí, a nechcelo mi zožrať "," ale iba ";" ako oddeľovač parametrov.
No snáď to bude ono, lebo mi stále vŕta hlavou to, že v tej poslednej prílohe od Radek-Klepacek je pre moju SK verziu Excelu správny vzorec, ale ani ten nefachá, pokiaľ neurobím to "kúzlo" s otvorením a potvrdením pravidla.
No uvidíme.
PS: V prípade ak hrozí použitie na multijazykovej platforme :
Ak FormatConditions podporuje iba FormulaLocal, tak sa to dá ofajať napr. dočasným vložením EN vzorca do bunky (iba na to určenej) ako Formula, a načítať ho z nej ako FormulaLocal.
Zatiaľ žiaľ neviem, prečo sa tak deje. Stačí potom iba v správcovi pravidiel dvojklikom otvoriť pravidlo, a OK potvrdiť, bez akéhokoľvek zásahu, a po stlačení Použiť, už funguje normálne.
Snáď niekto má riešenie (kalkulácia listu s tým nič neurobí)...
Veď Vy mi posielate úplne iný súbor s inými vzorcami, ako som Vám robil ja. Keď zoberiem Vaše júnové data vlaku 41913 a vložím ich do oboch mojich verzií, ktoré som Vám minule pripravil, obe mi dajú rovnaký výsledok -7:48, a to je tam o "19.6.2017 1:05:00" vlak naložený viac ako o deň skôr.
Nemôžete sa ma pýtať na moje vzorce a posielať mi iné (to sú tuším tie čo ste dostal od niekoho niekde na začiatku vlákna). Musíme hovoriť o tom istom. Tie vzorce som Vám prerábal, lebo tie predošlé Vám nefungovali ako ste chcel. Takže buď:
- tie predošlé ďalej nepoužívajte, keď nefungujú, a používajte moje
- a keď nefungujú moje, tak mi na mojich predveďte, čo kde nefachá, nie na tých starých
- alebo keď nevyhovujú moje, používajte staré vzorce, skúste osloviť autora či Vám ich neprerobí
Rozhodne sa mi to nechce celé čítať, ale takéto niečo by Vám nestačilo ?
Už som z toho LMNO fakt domýlený. PF sa dá obnoviť aj makrom napr.:
Sub AktualizacePF()
Application.ScreenUpdating = False
With Columns(14)
With .FormatConditions
.Delete
.Add Type:=xlExpression, Formula1:="=AND($N1<>"""";ROW($N1)>2;$M1=$N1)"
.Add Type:=xlExpression, Formula1:="=AND($N1<>"""";ROW($N1)>2;$M1<$N2)"
End With
.FormatConditions(1).Interior.Color = 5296274
.FormatConditions(2).Interior.Color = 255
End With
With Columns(15)
With .FormatConditions
.Delete
.Add Type:=xlExpression, Formula1:="=AND($O1<>"""";ROW($O1)>2;$M1=$O1)"
.Add Type:=xlExpression, Formula1:="=AND($O1<>"""";ROW($O1)>2;$M1<$O2)"
End With
.FormatConditions(1).Interior.Color = 5296274
.FormatConditions(2).Interior.Color = 255
End With
Application.ScreenUpdating = True
End Sub
Ale na to v poho stačí Podmienené formátovanie. Určite potrebujete makro ?
Nie, s povolením makier nemá uloženie súboru nič spoločné. To je vecou nastavenia Excelu Nastavenie - Centrum dôveryhodnosti - Nastavenie centra dôveryhodnosti - Nastavenie makier. Píšem z mobilu, tak snáď je to správne. Užívateľovy ale treba tiež trochu pomôcť a to tak, že sa makrom pri uložení skryjú všetky listy, a ostane iba zobrazený list s logom a upozornením na potrebu makier. Ak to užívateľ povolí, tak prebehne procedúra Wokbook_Open(), ktora ihneď zviditeľní potrebné listy.
Keď tak, podporte fórum.
That's All...
Aha, preklikol som sa asi o súbor vedľa, a nahral som Vám naspäť ten Váš. Soráč, mám tu už fakt bordel, asi tak na 3 dni mazania
Príloha vymenená v pôvodnom príspevku.
PS: Inak tie rozbalovacie čudlíky pri dátach sa dajú vo vlastnostiach KT vypnúť. KT ale nechce zobraziť sklad, v ktorom niesú žiadne hodnoty. Ak to takto byť nemôže, tak je tu možnosť makrom, alebo na PowerQuery je macher mepexg
Otáznik znamená :
"Myslíte to nejako takto ?"
No a v prílohe na 3. liste je KT, o ktorej ten otáznik pojednáva svojim obšírnym obsahom
?
EDIT: Výmena prílohy.
ZIP alebo 7-ZIP (je zadara). V najhoršom prípade premenujte príponu .xlsm na .zip (alebo pridajte za .xlsm ešte .zip), a dôkladne túto skutočnosť zdôraznite.
To by som netvrdil. Ak bude bunka iba jedna, tak vo Vašom zápise, nebude premenná typu pole ! Záleží na tom, čo s tým chcete robiť ďalej. Ak nasleduje nejaké spracovanie tej premennej ako pole, tak ten Váš prípad musí zákonite hodiť chybu, lebo nemáte čo indexovať. Môj kód Vám urobí pole 1x1, s ktorým pracujete v následnom spracovaní rovnako ako s akýmkoľvek iným poľom napr. 100x10000. Skúste si to. Pozor na to.
Pr.:
Sub zapamatuj()
Dim X As Long, Y As Long
Set My_Undo = Selection
With My_Undo
X = .Rows.Count
Y = .Columns.Count
ReDim My_array(1 To X, 1 To Y)
If X = 1 And Y = 1 Then My_array(1, 1) = .Value2 Else My_array = .Value2
End With
End Sub
Ale to iba v prípade súmernej, spojenej oblasti. Ak je označená oblasť obsahujúca viac AREAS, treba si každú zvlášť v cykle EACH uložiť napr do COLLECTION.
Napr. vzorec na 1000 riadkov.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.