V prvom rade je treba vzorec upraviť na CZ/SK formát oddeľovačov parametrov, a potom si myslím, že nie je dobré pridávať na koniec čísla, nedá to správny výsledok ak text číslo neobsahuje. Takže by som to upravil na maticový vzorec (Ctrl+Shift+Enter):
=MIN(IFERROR(FIND({0;1;2;3;4;5;6;7;8;9};B3);FALSE))
=MIN(IFERROR(NAJÍT({0;1;2;3;4;5;6;7;8;9};B3);NEPRAVDA))
Nezobrazia? Teda fungujú, ale nevidíte ich kód? Alebo ani nefungujú a zároveň ich ani nevidíte? Excel upozorňuje na makrá v súbore? Záložku Vývojár máte aktivovanú? Makrá sú teda povolené? Súbor je to XLSM? ...
Nieje niektorý stĺpec prázdny? Najlepšie by bolo priložiť prílohu (bez citlivých dát) ale s prejavujúcou sa chybou, a uviesť na ktorej bunke pri tom stojíte.
Myslím, že opäť bude problém v určovaní správnej oblasti (CurrentRegion).
Mne to na E2019 funguje. Skúste to, čo sa spomína tu. Pozrieť chýbajúce referencie, skontrolovať správne deklarácie všetkých premenných, zmeniť to Right na VBA.Right. Je to iba pár vecí, Chrome Vám to preloží.
O čo má tomu textboxu ísť? O to aby tam bol zadaný iba dátum? Aby nedovolilo napísať iné znaky ako 0-9 a / ?
Problém je evidentne ten, že to nie sú XLS súbory. To sú normálne textové súbory, len majú príponu XLS. No a v tom prípade sa Excel snaží automaticky určiť dátový typ. A ak sa pozriete kedy toto spotvorenie čísel nastane a kedy nie, tak si všimnete, že ak textočíslo obsahuje oddeľovač tisícov " " (medzera), tak to interpretuje správne podľa EU, ale ak tam medzera nieje, a je tam iba desatinná čiarka, tak ju podľa EN identifikuje ako oddeľovač tisícov, teda logicky pridá "000". Ako tak na to pozerám, asi by bolo lepšie použiť PQ. No jednoduché to nebude.
EDIT 19.7.2021 17:47
A aby som iba netliachal. Tu máte PQ súhrn, bez makra, iba dáte "Obnoviť všetko" na karte "Údaje". No funguje to iba na tie Vaše XLS (ktoré nimi niesú). Na normálne XLS/XLSX/XLSM to fungovať nebude. Tam by bolo treba v PQ vymyslieť ešte nejaký test či sa jedná o skutočný Excel súbor alebo tento Váš CSV premenovaný na XLS, a podľa toho zvoliť načítavaciu rutinu. Dátová štruktúra XLS a CSV je neporovnateľne iná.
...
A tie údaje v F potrebujete, alebo si ich má makro spočítať samé?
???
Private Sub UserForm_Initialize()
Dim cas0 As Double, cas1 As Double
cas0 = Now()
cas1 = Int((cas0 * 24) - 1) / 24
Label1.Caption = "Aktuální čas: " & Format(cas0, "hh:mm")
CommandButton1.Caption = Format(cas1, "hh:mm")
CommandButton2.Caption = Format(cas1 + 1 / 48, "hh:mm")
CommandButton3.Caption = Format(cas1 + 1 / 24, "hh:mm")
CommandButton4.Caption = Format(cas1 + 1 / 12, "hh:mm")
End Sub
Ani som nevedel, že to ide makrom vynúť :) Tak pozrite do makra, odkrokujte, aby ste zistil kedy to zmizne. A ak kliknete pravým myšítkom na StatusBar nemáte tam možnosť to zapnúť?
Ak v makre pracujete so StatusBar-om, po ukončení práce skúste aplikovať
Application.StatusBar = False
ale to je iba čisto pokus, páč u mňa použitie StatusBaru v makre "nezničí" počet, priemer, súčet.
Prípadne
Application.DisplayStatusBar = True
Nie, zmena toho riadku iba spôsobí, že sa dáta neprepíšu od bunky A2, ale pridajú sa až za poslednou vyplnenou v stĺpci A. Teda vyhovenie požiadavke neprepisovania, ale pridávania.
Podľa toho čo píšete, si neviem ani len predstaviť realizovateľnosť. Prečo? Tak napr.:
Spustím makro s diskom ABC, bude tam film Avatar.mkv. Potom spustím makro na disku DEF, kde bude tiež Avatar.mkv. Čo teraz? Je to iný film s rovnakým názvom? Rovnaký v inej kvalite? Ten istý iba presunutý na iný disk? Odkiaľ toto makro zistí? Dajme tomu, že keď je z iného disku, tak sa pridá. Teda budú tam dva Avatar.mkv. Potom ho presuniem na tretí disk, alebo do iného adresára. Spustím makro, a čo teraz? Pridá tretí? Zmaže prvý, druhý, ... ? Ak film fyzicky zmažem, spustím makro, ako makro zistí, či som film zmazal alebo či tam nikdy nebol?
Fúha, tak toto prinesie ešte veľké hlavolamy. Problém je v samotnej podstate filmov. Oni sa totiž často menia, presúvajú, mažú, a to všetko mimo kontrolných mechanizmov DB či kvázi-DB v Excelovskom makre.
Sperhak napsal/a:
...Tie dáta chcem použit ako databázu a dalej s nimi pracovať a priradovat k nim veci.
Teraz som zistil že ak to zmažem a znova načítam tak mi tie veci čo som knim priradil náhodne priradí k iným filmom...
Riešenie od veny je dostatočné, a tak ako navrhuje, takéto rozmedzia by mali byť rozdelené. Na margo, čisto teoreticky by to však šlo aj také spojené overiť, jeden z príkladov:
=CHOOSE(SUMPRODUCT(COUNTIFS([@Level];$G$2:$G$8;[@Tarif];">"&REPLACE($H$2:$H$8;1;FIND("-";$H$2:$H$8);""))+COUNTIFS([@Level];$G$2:$G$8;[@Tarif];">="&LEFT($H$2:$H$8;FIND("-";$H$2:$H$8)-1)))+1;"POD";"OK";"NAD")
=ZVOLIT(SOUČIN.SKALÁRNÍ(COUNTIFS([@Level];$G$2:$G$8;[@Tarif];">"&NAHRADIT($H$2:$H$8;1;NAJÍT("-";$H$2:$H$8);""))+COUNTIFS([@Level];$G$2:$G$8;[@Tarif];">="&ZLEVA($H$2:$H$8;NAJÍT("-";$H$2:$H$8)-1)))+1;"POD";"OK";"NAD")
K ostatnému, čo píšete, sa pozriem niekedy neskôr. Teraz len rýchlo k tomu, že to nefachá v Roote disku. To je preto, lebo Win v Roote každého disku vytvorí skrytý adresár "System Volume Information" s vyhradeným prístupom. Nastane chyba pri získavaní počtu obsiahnutých súborov (obmedzený prístup), a keďže tam máte možnosť prerušenia makra (formou vyvolania a odchytu chyby), tak vlastne táto chyba prístupu, vyvolá rovnaké ukončenie ako ESC. Preto by som navrhol testovať cez Len(Dir()) cestu, a ak sa jedná o takýto adresár, dostanete 0, tak sa to dá obísť aj so zachovaním umelého prerušenia makra cez ESC pomocou vyvolania chyby, a zároveň to nekrachne na adresároch s obmedzeným prístupom.
pred riadok
Count = objFolder.Files.Count
dajte toto
If Len(Dir(objFolder.Path, vbDirectory)) = 0 Then Exit Sub
No elninoslov má funkčný základ napísaný, akurát mám pracovné veci. Momentálne píšem z auta...
EDIT 13.7.2021 22:36:
Už som konečne doma. Tu máte rýchlo beta verziu...
V najbližších dňoch, no neviem neviem, asi nepomôžem, uvidím ako sa mi to tu bude vyvíjať ...
Uvažoval som aj nad možnosťou to urobiť tak, že sa urobí najskôr zoznam súborov, aby sa vedelo koľko ich je, a potom by sa začali načítavať info. Kvôli zobrazeniu ProgressBaru. Na to som zatiaľ pre nedostatok času zanevrel.
Na to treba rekurzívnu metódu, nie vnáranie cyklov. Už som sem také niečo dával X krát. Ale skôr ako to nájdem, to znovu napíšem. No upresnite to, nech to nerobím zbytočne. Ten Váš kód práve postráda to hľadanie o ktorom píšete. Jedine, že by niečo porovnávala tá metóda "PrintFiles". Čo má byť účelom? Máte nejakú časť názvu, a chcete vypísať cestu k súboru, ktorého názov obsahuje daný text, či čo? Alebo chcete vypísať celú adresárovú štruktúru? To potom nieje hľadanie súboru.
...
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.