WWW pro školy
Jak na Office - tutoriály, video návody











Vytvoř si  geekové tričko

Poradna - kopírovanie údajov z dvoch hárkov pri filtrovaní

hlavní kategorie | zpět | + odpovědět na toto téma
kopírovanie údajov z dvoch hárkov pri filtrovaní - diskuze na toto téma
Zdravím potreboval by som vytvoriť nejaké makro, ktoré by mi skopírovalo údaje z tabuliek z 2 hárkov do tretieho pri automatickom filtrovaní. čiže keď spustím makro v hárku1 v stĺpci A sa filtrujú údaje ( tam môžu byť aj údaje rovnaké)pri tomto filtrovaní sa menia údaje aj v hárku2. Z hárku1 mi stačí skopírovať pomocný text z bunky AA2-AG2(označené zelenou farbou) a z hárku2 potrebujem skopírovať pomocný text ktorý zostane pri filtrovaní označený modro. Do Hárku3 potrebujem kopírovať len hodnoty a modro označené potrebujem ešte transponovať.

Tomáš | 5.1.2019 00:21  
 
 
ukážka
Odpověď
elninoslov | 6.1.2019 04:06  
 
 
Makro v hárku1 ? Tam žiadne nie. Makro je v hárku2, a žiadne z tých nahraných v module nič nefiltruje. Iba pomocné AA2-AG2? Teda je vylúčené, že by ktorýkoľvek z filtrovaných riadkov bol v ktoromkoľvek stĺpci z A,B,D,F,G,H,J,V iný ako ostatné ? Prečo sú potom pomocné vzorce natiahnuté na celú výšku, keď stačí iba riadok 2 ? Ak čokoľvek z tohoto nesedí, podstatne sa komplikuje výpis v hárok3. Na tomto Vašom probléme som už pracoval (to makro je odo mňa), takže toto je celé makro čo som Vám poslal ? Kde je predošlá téma ?
Odpověď
Tomáš | 6.1.2019 08:27  
 
 
Blbo som to napísal ospravedlňujem sa. Áno to makro v zošite je od Vás. Lepšie raz vidieť ako 100 krát čítať zle napísané. :D Potreboval by som urobiť makro aby po zadaní údajov do tabuľky a spustení makra robilo ako v odkaze na video až po koniec v tabulke v hárku. VIDEO : https://youtu.be/NxOnWtFMwzI ĎAKUJEM
Odpověď
Tomáš | 6.1.2019 08:29  
 
 
až po koniec v tabuľke v hárku1.
Odpověď
elninoslov | 6.1.2019 11:52  
 
 
To čo som sa pýtal, skúsim inak, lebo evidentne neodpovedáte, na čo sa pýtam. Makro som vypol, lebo som manuálne na ukážku zmenil dáta aby ste vedeli čo mám na mysli. V každom hárku je poipis a otázky.
Odpověď
Tomáš | 6.1.2019 16:11  
 
 
V hárku1 v stlpci A sú jedinečné čísla. Pokiaľ je viac riadkov s jedinečným číslom rovnakým je to kvázi to isté až na to že od stĺpca K až po N je už v podstate identifikácia použitia(tieto údaje sa nekopírujú). Tu potrebujem aby sa skopíroval prvý filtrovaný riadok rozsah AA-AG do hárku3 rozsah A-G. Z hárku 2 potrebujem skopírovať viditeľné údaje zo stlpca X a tie skopírovať do harka3 stlpec O a tam to vložiť transponované. Nie je potrebné aby sa to dialo automaticky stačí to tak že to spustím manuálne. video s titulkami: https://www.youtube.com/watch?v=_dgTFC1DB30
Odpověď
elninoslov | 8.1.2019 02:12  
 
 
Ak tak sú moje logické otázky bez odpovedí. Čo chcete rozumiem, len sú tam možné logické zádrhle. Tu po pokus o riešenie makrom. Skúste to na veľkom súbore (ja som si dýta vymyslel asi na 50 000 riadkov). Možno by na to bolo lepšie PQ, to ale neovládam.
Odpověď
elninoslov | 8.1.2019 02:13  
 
 
https://uloz.to/!hd4Hncyg0dyd/1546644113-1536727851-test3-xlsm
Odpověď
Tomáš | 8.1.2019 09:52  
 
 
ďakujem pekne ste macher. idem to otestovať a dám vedieť ako to šlape.
Odpověď
Tomáš | 8.1.2019 10:57  
 
 
Otestované. je tam taký zádrhel. Pri kopírovaní typov áut do hárku3 nenakopíruje všetky. nakopíruje len prvých 53. Nespomenul som moja chyba, že v hárku3 od stĺpca O tam čo sú typy áut to nemusí byť obmedzené po stĺpec BX. Od stĺpca O sa môže kopírovať bez obmedzenia (alebo max 300 stlpcov). Okrem tohto som nič nenašiel šlape to super.Do prílohy som nakopíroval nejaké reálne údaje do hárku1. Nejaký kontakt na Vás by bol super kvôli nejakej odmene pre Vás. :D
Odpověď
elninoslov | 11.1.2019 01:48  
 
 
Rozšírenie makra o dynamické reagovanie na premenlivú šírku, nieje problém, to mám už dávno hotové. Skutočným problémom je hrozná nekonzistentnosť dát v stĺpci C a N (motorizácia). Problém je desatinné číslo s bodkou, číslo s nulou na konci, potom číslo ako text, niektoré ako dátum (1.6 Excel interpretuje ako 1.júna)... Keby len to, ale pri hromadnej korekcii cez EVALUATE(), je zase pri prevode z listu do VBA bodka braná ako desatinný oddeľovač 1.1->1,1, takže získanie správneho formátu cez TEXT(číslo,"d.m") je problém. Ďalej je potreba odlíšiť celé číslo od čísla 2.0 (celé číslo 43252 je dátum, 2.0 desatinné číslo). A ďalšie kombinácie môžu nastať pri spôsobe použitia, raz použijete napr. Ctrl+C, inokedy vložiť iba hodnoty, do toho keď to stále nejde tak zmeníte formát bunky, a do tejto sa zasa niečo kopíruje alebo upravuje. Vznikne množstvo kombinácií nekonzistentných údajov. Máte také všade, alebo sa dostali len ku mne?
Odpověď
elninoslov | 11.1.2019 01:48  
 
 
Pokračovanie: Keď to nepôjde hromadne cez EVALUATE, skúsim to naprogramovať, ale ak to má upravovať niekoľkými testami a úpravami 300 000 riadkov, ako píšete vo videu, tak to bude záhul. Ďalším problémom bude jazyková verzia Office. Na jednej strane Posielam úpravu na skúšku, kde sú len na ukážku ešte aj 2 rozpracované procedúry, už asi v 6 verzii, no ani v jednej to nefunguje pri každej kombinácii nekonzistentný údajov správne. Inak samotná procedúra na výpis je funkčná. Môj mail je môj nick zavináč gmail. Ak chcete niečím prispieť, kľudne môžete na PayPal na spomínaný mail. Ak nechcete nemusíte. Dajte vedieť ako to s tou nekonzistenciou je. Pretože si určite nemôžete dovoliť, aby tam boli chybné dáta.
Odpověď
Tomáš | 11.1.2019 08:44  
 
 
Tie stĺpce C a N tam som si ten problém všimol. Riešil som to tak že predtým ako som tak údaje nakopíroval,som formát stĺpca zmenil len na text. A dáta ktoré som tam kopíroval som otvoril najprv nie v Exceli ale v nejakom csv editore(názov pozriem) a tam som skopíroval dáta a vložil ich do hárku2(autá) stĺpec C. V hárku1(diely) tam som to nejak neriešil tam som pretože tam bol hlavný údaj ohľadom priradenia stĺpec K. Ak som to takto nakopíroval nepostrehol som tie zmeny o ktorých ste písali.
Odpověď
elninoslov | 11.1.2019 09:30  
 
 
Teraz môžete skúsiť používať tú procedúru "UpravaDat", ktorá vždy jednorázovo nakopíruje do posledného stĺpca "Oprava" v oboch tabuľkách vzorce, ktoré to prevedú (snáď správne). Tieto vzorce sú prepísané po výpočte svojimi výsledkami, lebo aj tak to pri veľa riadkoch dlho trvá, a ak by to malo prepočítavať pri každej úprave listu, to by bolo nepoužiteľné. Keďže neviem, či to je 100%, tak som na túto procedúru neurobil tlačítko. Čo som ale zabudol, je zmazať makro "Worksheet_Activate2" v liste wsAuta (Autá) - je znefunkčnené a zabudnuté, tak ho zmažte, nech Vás nemýli.
Odpověď