Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  238 239 240 241 242 243 244 245 246   další » ... 289

To preto, že ste neurobil to čo sa píše v prvej vete v kóde. Musíte pridať do Excelovského VBA
Microsoft Word 8.0 - to je ale dosť starý názov
V novších verziách, napr v mojej 2013 sa to volá
Microsoft Word 15.0 Object Library

Dôrazne doporučujem použiť na zjednodušenie vzorcov Definovaný názov.

Definovaný názov : "Nazev"
=SUBSTITUTE(REPLACE(Hárok1!$A$1;1;IFERROR(FIND("\Nav.";Hárok1!$A$1);FIND("\Rev.";Hárok1!$A$1))+4;"");".docx";"")
=DOSADIT(NAHRADIT(Hárok1!$A$1;1;CHYBHODN(NAJÍT("\Nav.";Hárok1!$A$1);NAJÍT("\Rev.";Hárok1!$A$1))+4;"");".docx";"")

je nastavený aj na hľadanie "\Nav." aj na "\Rev.". Pozor na meno listu.

Do A1:
G:\OneDrive\Dokumenty\Navrhu\Navrhu 2015\Nav.055 Nějaký text různé délky - nějaký text různé délky a datum 8.11.2015.docx

Do B1:
=LEFT(Nazev;FIND(" ";Nazev)-1)
=ZLEVA(Nazev;NAJÍT(" ";Nazev)-1)


Do C1:
=TRIM(MID(Nazev;LEN(B1)+2;FIND("-";Nazev)-LEN(B1)-2))
=PROČISTIT(ČÁST(Nazev;DÉLKA(B1)+2;NAJÍT("-";Nazev)-DÉLKA(B1)-2))


Do D1:
=TRIM(MID(Nazev;FIND("-";Nazev)+1;LEN(Nazev)-(FIND("-";Nazev)+1+LEN(E1))))
=PROČISTIT(ČÁST(Nazev;NAJÍT("-";Nazev)+1;DÉLKA(Nazev)-(NAJÍT("-";Nazev)+1+DÉLKA(E1))))


Do E1:
=TRIM(RIGHT(SUBSTITUTE(Nazev;" ";REPT(" ";LEN(Nazev)));LEN(Nazev)))
=PROČISTIT(ZPRAVA(DOSADIT(Nazev;" ";OPAKOVAT(" ";DÉLKA(Nazev)));DÉLKA(Nazev)))


Ak nechcete použiť Definovaný názov, tak všetky výskyty slova "Nazev" zamente za to, čo ste mali dať do Definovaného názvu (tentoraz nemusíte názov listu dávať, alebo podľa potreby), teda
SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";"")
DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";"")


podľa potreby zmente absolútne adresovanie $A$1 na relatívne A1.

A vzorce tak budú síce bez Definovaného názvu, ale vážne neprehľadné a ťažko upraviteľné:

Do B1:
=LEFT(SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";"");FIND(" ";SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";""))-1)
=ZLEVA(DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";"");NAJÍT(" ";DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";""))-1)


Do C1:
=TRIM(MID(SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";"");LEN(B1)+2;FIND("-";SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";""))-LEN(B1)-2))
=PROČISTIT(ČÁST(DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";"");DÉLKA(B1)+2;NAJÍT("-";DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";""))-DÉLKA(B1)-2))


Do D1:
=TRIM(MID(SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";"");FIND("-";SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";""))+1;LEN(SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";""))-(FIND("-";SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";""))+1+LEN(E1))))
=PROČISTIT(ČÁST(DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";"");NAJÍT("-";DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";""))+1;DÉLKA(DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";""))-(NAJÍT("-";DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";""))+1+DÉLKA(E1))))


Do E1:
=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";"");" ";REPT(" ";LEN(SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";""))));LEN(SUBSTITUTE(REPLACE($A$1;1;IFERROR(FIND("\Nav.";$A$1);FIND("\Rev.";$A$1))+4;"");".docx";""))))
=PROČISTIT(ZPRAVA(DOSADIT(DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";"");" ";OPAKOVAT(" ";DÉLKA(DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";""))));DÉLKA(DOSADIT(NAHRADIT($A$1;1;CHYBHODN(NAJÍT("\Nav.";$A$1);NAJÍT("\Rev.";$A$1))+4;"");".docx";""))))

OT: Eeej, ale teraz sa ako hanbím! 6 To ma nenapadlo. Veď na to si dokážem napísať v Delphi malú apku (stačí TRichEdit, ten vie formátovanie). Dokonca by som to asi zvládol aj v CorelDraw (má VBA), a "pouvažujem" aj nad Excelom 1
Keďže teraz ste mi už rozsvietil, že sa to dá inde, tak sa asi nechám od detí nabudúce nalomiť.

Samozrejme, že to pri zmene v liste so všetkými odkazmi potom nefunguje. Tie odkazy si musíte najskôr všetky pripraviť, podľa mien všetkých súborov. To vôbec nemusia byť iba čísla. Napr. ako som spomínal, makrom, cez vyhľadávaciu funkciu "dir" prebehnete celý adresár, a urobíte si zoznam všetkých súborov, a vytvoríte si stály, aktívny, automaticky aktualizovaný zoznam hodnôt (pomocou vzorcov vytvorených týmto makrom) zo všetkých súborov. Makro môžete zmazať, ak Vám budú pribúdať ďalšie súbory, tak si ich obdobne dopíšte do tohto listu, analogickými vzorcami. To nieje riešenie na mieru, ale len ukážka.

Potom v pracovnom liste už vyhľadávate medzi hodnotami zo všetkých súborov, ktoré Excel natívne (vzorcami) číta sám. A ako vyhľadávacie kritérium je názov súboru.

PS: To ako vyzerá ten vzorec, je tam iba na ukážku, ako by mal vyzerať. Pri zmene názvu súboru sa nezmení aj odkaz, ktorý už reálne načíta data. To je práve to nerealizovateľné, čo ste chcel.

2 príklady prehodenia stĺpcov označenej oblasti opačne na iný list. Možností je veľa, napr aj použitie Copy a ... . Vyskúšajte, dajte vedieť.
Inak kolegovia majú pravdu, Váš popis je nezrozumiteľný.

@Alfons: Ospravedlnenie za zahltenie Vašej témy mojim prípadom. Končím s OT. Ako vraví marjankaj, pridajte prílohu.

@marjankaj: Žiadna príloha k môjmu prípadu neexistuje, viď @xlnc

@xlnc: Načo to potrebuje Alfons neviem. Poviem, len načo som to potreboval ja. Deti si píšu písmenká/čísla na klávesnici, a sú nadšené keď je každé písmenko inej farby, hneď pri jeho písaní. Dokážu sa aj hodinu zabaviť písaním a mazaním najskôr malej abecedy, potom veľkej, potom čísel, a keď sú farebné, tak sú nadšené, a neotravujú neustále s prefarbovaním, ktoré je pre nich nesmierne "dôležité", ale pre mňa nesmierne otravné. Nejde, nejde. Uvidíme keď príde najbližšia invázia detí, či ma ešte donútia o tom niečo zisťovať. Majú také obdobia, že to chcú aj týždeň v kuse, spievajú si pri tom o písmenkách, robia ich z plastelíny, no proste je od nich pokoj 5
Ak by niekto náhodou vedel pomôcť s mojim "problémom", prosím neodbočovať od zadávateľovej témy, ale písnuť mi vzkaz. Zakladať tému, kvôli tomu zatiaľ nebudem. Inak sa venujme téme zadávateľa.

Problém to samozrejme je. Aj pridávanie aj vymazávanie riadkov. A docela slušný problém. Môže nastať množstvo situácií, môže byť vložených alebo vymazaných viac riadkov naraz, musia byť opravované chýbajúce dátumy a týždne pri výmaze 1. zlúčeného riadku v nich, opravované orámovania, slúčenia oblastí, musí byť na výber, ku ktorému dátumu sa pridá riadok, ak ho vložíte medzi dátumy, kontrola, či sa nejedná o 1. dátumový riadok (2. riadok celkovo), atď ...

Takže som Vám urobil poslednú verziu, je to už slušne zložité na to, aby človek odhadol a ošetril čo najviac eventualít ktoré môžu nastať. Chcete totiž neštandardnú vec (s tým zlučovaním a orámovaním).

Vyskúšajte, dajte vedieť.

To je zaujímavé makro, a dalo by sa asi použiť, ale stále ho nemám ako spustiť. Musí sa spúšťať samé po napísaní znaku. To som potreboval aj ja, aj Alfons. 7

No to bolo tak, že som potreboval, aby sa písalo farebné písmo, a to tak, že každé písmenko bude mať inú farbu. Je šumák, či by bola v makre cez pseudonáhodnú fnc vyberaná z celej škály, alebo len z nejakej skupiny farieb. To je najmenej. Ale ako za letu, počas písania, vždy zmeniť farbu buď práve napísaného, a prednastaviť farbu pre budúce písmenko. Proste dôležité bolo, aby to menilo hneď pri písaní znaku, nie tak, že by som napísal text a použil nejaké formátovanie alebo makro na celý text hromadne. A bol som nahraný ako sane v lete.

Vo Worde nerobím takmer nič, ale dávnejšie som potreboval urobiť, aby mi po napísaní znaku (akéhokoľvek, teda stačí stlačenie klávesy) zmenilo farbu písma. Nič také som nedokázal vo Worde naprogramovať. A ani na nete som nepochodil. Vo Worde sú veci inak ako v Exceli. Pochybujem, že to bude zrovna jednoduché, keď vo VBA Wordu myslím nieje KeyPress (a ostatná Key rodina). Ak by niekto vedel, tiež ma to bude zaujímať.

Takto nejako ?

Vyskúšajte túto verziu. To je verzia kde sa objaví pri každom zatržítku tlačítko, ktoré zapíše len tej jeden riadok na ktorom je. Ostatné riadky, aj keď majú svoje zatržítko zaškrtnuté, tak sa nezapíšu stlačením tlačítka na inom riadku. Takto ste to myslel ?
Ak nie tak naozaj nerozumiem, prečo musí mať každý riadok vlastné tlačítko. Ak chcete zapisovať naraz všetky zaškrtnuté riadky, tak potom treba použiť iba jedno jediné tlačítko pre všetky riadky.
Inak musí tam byť skrytý stĺpec T, pretože inak nezískate klik na klasický CheckBox, a ten klik potrebujete zachytiť na určenie viditeľnosti tlačítka.

Ak to chcete inak, ako som opäť z kryštálovej gule vyčítal, tak to prosím popíšte inak, lebo napr. Vaša posledná veta je sama sebe podľa mňa v rozpore (jedno vs všetky).

A ešte napíšte aj to, či chcete po zápise poposúvať nezapisované (teda nezaškrtnuté) a/alebo zaškrtnuté ale nezapisované, na miesto nad nimi, ktoré sa uvoľnili. Tu si ale treba uvedomiť to, že čísla tlačítok sa meniť pri posúvaní nebudú, takže ak sú to nejaké výrobné linky, stoly, boxy, koše, police, tak to nieje vhodné.

Ak tam nemate rovnaké miesta, na radenie to nemá vplyv. Radenie s tým iba proste počíta. Odmenu Vám to tam predsa dáva tak ako je treba, len keď chcete namiesto prázdnej bunky mať 0, tak zmente v danom stlpci vo vzorci "" na 0. Podľa mňa to funguje presne ako ste chcel. Povedzte ešte ktoré stlpce v tej zdrojovej tabuľke potrebujete, ostatné zrušíme, a prípadne upravíme vzorce. Žiadne makro nepotrebujete. Ani potrebu dalšieho stlpca nevidím. Alebo Vám to vzor ami nevyhovuje?

A o ktoré zaškrtávacie políčko sa má jednať ? Sú tam 2. Alebo ich tam bude 6, čiže na každom riadku jedno, a aktivácia tlačítka prebehne ak je hociktoré z nich zaškrtnuté, a opačne deaktivácia prebehne ak sú všetky nezaškrtnuté ?

Alebo, a to skôr, to bude tak, že tlačítko sa aktivuje pri ktoromkoľvek zaškrtnutí, ale s tým, že tlačítko vykoná zápis iba zaškrtnutých riadkov, tie potom zmaže, a nezaškrtnuté riadky nechá a poposúva ich (ak medzi nimi ostala medzera). Že to bude takto ?

Na to si ale budem musieť nájsť viac času. Možno večer...

EDIT: A hodnota CheckBoxu sa zisťuje z prepojenej bunky, a taká nieje tak napr. takto:
Abs(Worksheets(1).Shapes("Check Box 1").OLEFormat.Object.Value > 0)
Ale je nanajvýš vhodné si premenovať CheckBoxy na vlastné názvy, nenastane kolabs pri prenose na inojazyčný Excel.
Nájsť a vybrať - Tabla výberu - dvojitý klik (nie dvojklik)

Zo srandy som na to pozrel, a hneď ma napadla možná "nekalosť", v našich končinách žiaľ hojne zaužívaná - stáčanie km.
Vzorec od pepe74287 hľadá maximálne km, čo by malo byť aj správne a logické. Ak chcete skontrolovať, či najväčšie km má posledný záznam vozidla, použite tento
SK
=INDEX($B$2:$B$11;MAX(($A$2:$A$11=D2)*(ROW($A$2:$A$11)-1)))
CZ
=INDEX($B$2:$B$11;MAX(($A$2:$A$11=D2)*(ŘÁDEK($A$2:$A$11)-1)))

Ak potom odčítate vzorce od seba musíte dostať 0, ak nie, nieje niečo v poriadku, buď omyl, podvod, dáta do DB zadané v zlom poradí, ...


Strana:  1 ... « předchozí  238 239 240 241 242 243 244 245 246   další » ... 289

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

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28