No veď práve v tom linku je napísané toto:
Mám Office 2016 Professional x64 SK a nieje tam (doplnok Analytické nástroje mám zapnutý, ak by to s tým súviselo)
Ak nemáte predplatiteľskú verziu Office 2016 365 (to "365" je kľúčové), ani nemusíte hľadať
Opravené v príspevku s prílohou, bola tam ešte jedna chyba, ktorá vznikla premenovávaním mojich názvov polí na Vaše (D1 vs. Day1). To len potvrdzuje to, že samotné porovnanie je pár riadkov, ale desiatky sú kontrola rôznych nechcených stavov.
Keď ale píšete, že až 17K vs. 20K riadkov, tak Vám snáď ešte urobím tú, čo to robí cez reťazec, tá bude možno najrýchlejšia. A možno to aj otestujem
EDIT: No teraz keď je tam už toľko podmienok, ošetrujúcich všakovaké možné stavy a ich kombinácie, už sa mi to veru nepáči. Postupne ako to človek ladí, prichádzajú stále nové a nové komplikácie, až sa Vám nakoniec znepáči samotný návrh. Sú tam opakujúce sa časti pre obe polia, tak by sa to dalo spracovať procedúrou s parametrami, bolo by to snáď kratšie. Uvidím, ako večer dopadne 2. verzia.
Heh, kód je HardCore kvôli ošetrovaniu rôznych eventualít:
-čo ak nie sú zadané mená v jednom či druhom poli (vtedy stačí skopírovať opačné)
-alebo nie sú v oboch (vtedy sa nerobí nič)
-sú nejaké starý výsledky na zmazanie (pre obe polia) ?
-samozrejme musí byť kontrolovaný zápis každého poľa, či vôbec existuje...
kontroly eventuálnych chýb to nabobtnajú najviac
uvidím podľa času a chuti, možno Vám prekopen aj iný variant...
EDIT: Pozor, v mojom predošlom príspevku som našiel chybku. Príloha je tam vymenená.
No a keď výpočet zreťazíte - teda IF(ISERROR(výpočet);"";výpočet) ???
Upravil som len môj 1. variant z 3 a popísal. Chcete aj ostatné moje popisovať a prerábať ? Neviem či sa s tým mám piplať (čítajte srať)
Máte tu už 5 variantov, treba si 1 vybrať a mi Vám ho popíšeme doladíme.
EDIT:Výmena prílohy, našiel som chybičku:
V starej prílohe je
WorksheetFunction.Max(R1, R1)
má to byť samozrejme
WorksheetFunction.Max(R1, R2)
Takže tu je vymenená príloha
EDIT: Opravená aj chyba, keď bolo meno iba 1, a oprava názvu poľa.
=COUNTIF(OFFSET(C7;;;;MATCH(TODAY();$C$6:$AG$6;0));"X")
=COUNTIF(POSUN(C7;;;;POZVYHLEDAT(DNES();$C$6:$AG$6;0));"X")
1. Nič čo popisujete teraz, v zadaní nemáte. Tam ste mal niečo iné. Tak som to pochopil ja.
2. Takéto príklady sa nepopisujú slovami, ale príkladom vo forme súboru (XLSM súbor musí byť zabalený do ZIP), kde bude na konkrétne manuálne vytvorenom príklade ukázané čo máte, a čo má byť výsledok.
3. Aké statické polia ? Moje polia sú dynamické. Veď si pri každom spustení nájde rozsah každého poľa. Ešte si aj predošlý výsledok dynamicky vymaže.
4. Že Vám hádže zlé výsledky po "úpravách" - no veď práve. Najskôr si dajte záležať na prílohe, potom Vám snáď urobíme nejaké verzie postupov, ktoré si otestujete na reálnych dátach (reálnom množstve údajov), a zistíte, ktoré Vám pobeží najrýchlejšie, alebo bude inak vyhovovať. Či máme okomentovať všetky naše riešenia, a Vy zmeníte zadanie ?
Polepšite sa
Sem s tou prílohou, a keď bude čas...
EDIT: Čo má ten Váš uvedený kód robiť ?
-chýba End Sub - to nieje problém
-Worksheets"Tabelle4") - to funguje bez zátvorky asi ťažko
-deklarácia last_row je, last_row2 nie
-použil ste najpracnejšiu možnú formu kopírovania oblasti buniek z jedného listu do druhého - bunku po bunke
-a čo index poľa 0 a 1 ? Keď dáte Redim(2) dostanete trojmiestne pole (0,1,2)
-takže z listu Tabelle4 nakopíruje A->A , D->B, žiadne porovnávanie to nerobí.
Tá príloha s príkladom a rozšírený popis je ešte potrebnejší.
Ďalšie 3 možnosti makrom. To sa dá ale aj cez KT. Musíte si na reálnych dátach skúsiť čo bude lepšie. Inak pozor funkcia TRANSPOSE funguje len do cca 32K záznamov, inak je treba pole otočiť cyklom.
Odstavte
On Error Resume Next
A čekujte, či Vám hodí na nejakom riadku chybu. Páč asi kvôli hádzaniu nejakej chyby to tam vôbec je.
janda30 napsal/a:
...ve chvíli, kdy na něm proběhne změna a v tu chvíli snad aktivní být musí...
Čo má tlačítko robiť vieme, čo ale nevieme je kde to má robiť.
-Ten navi-program vytvorí súbor XLSX, kde nebude nič iné len obdobná tabuľka? Ak je to inak popíšte ako.
-Tá tabuľka je v dobe prepočtu zasadená aj do iných číselných dát (je niečo kdekoľvek okolo nej) ?
-Je rovnako rozmiestnená a koncipovaná, teda vždy 10 bodov v stĺpcoch po piatich so zlúčením 3-och riadkov v čísle bodu, vynechaním jedného riadku medzi uzlom a míľou, je rovnako odsadená od okrajov listu, rovnako sa volá list, ... ?
-Ak je vždy iná, ako ju máme identifikovať ? Vyhľadaním "Otočný bod" ?
-Konvertované majú byť na inom liste - teda je jednoduchšie urobiť kópiu prvého listu, kvôli tomu že netreba potom riešiť opätovné formátovanie, zlučovanie a pod. Je to možné takto robiť, alebo je ten list na nové hodnoty, už prichystaný aj s niečím iným okolo ?
To je spústa a ešte viac nejasností...
luky81: Zmenil ste zadanie, nie ? Nemal ste tam najskôr každý 5-ty stĺpec ?
mepexg: ten Váš mi ale nefachá ani na každom 5, ani 8 (EDIT: aha tak Vy chcete riešiť aj transponovanie, mi to až teraz došlo:) )
Na každom 8-om mi fachá tento:
=INDEX(List1!$5:$5;;(ROW(A1)-1)*7+1)
=INDEX(List1!$5:$5;;(ŘÁDEK(A1)-1)*7+1)
tipujem:
=INDEX(List1!$1:$1;;ROW(A1)*5-5)
=INDEX(List1!$1:$1;;ŘÁDEK(A1)*5-5)
Napadajú ma hneď 4 možnosti ako to urobiť. A neviem, či som si nezvolil zrovna tú najhoršiu na programovanie :)
No skúste.
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.