< návrat zpět

MS Excel


Téma: Makra - načítání sešitů do pole se seznamem rss

Zaslal/a 29.8.2017 11:45

Zdravím všechny,

obracím se zde na Vás s prosbou. Musím poprvé vyrobit v excelu takovýto program. Do této doby jsem s makry nepřišel do styku. Prosím tedy všechny, které napadne nějaké řešením, o detailnější popsání. Díky.

Jedná se o toto:

Mám 12 .xls soborů (12 měsíců). Každý soubor obsahuje 4 listy. Potřebuji vyrobit takovéto makro:

Musím zde mít dva seznamy, kdy v jednom seznamu si vyberu jeden měsíc a v druhém druhý měsíc. Po kliknutí na tlačítko, se provede porovnání dat, co jsou pouze v listu 1. V listu 1 je X sloupců s daty. Věřím, že samotné porovnání problém nebude. Nevím ovšem, jak zařídit, abych si mohl v seznamu vybrat konkrétní sešit (ze složky) a v konkrétním sešitě list.

Pokud je problém popsán krkolomně, rád více rozeberu. Pokud někoho nyní něco napadne, budu vděčný :-).

díky

Zaslat odpověď >

Strana:  1 2   další »
#037430
Hav-Ran
Zaujíma ma, čo myslíš pod "porovnání dat". Nepriložil si žiadne dáta, takže to môže byť hocičo (počty, súčty, riadky , farby a podobne) a ani nie je jasné ako sa vyhodnotenie "porovnania dát" má uskutočniť (výpisom niekam, komentárom v bunke a podobne).citovat
#037434
avatar
Zdravím,

data bohužel poskytnout nemohu. Mělo by to fungovat nějak takto:

1) v comboboxu1 si vyberu excelovský soubor s názvem měsíce (například leden).

2) v comboboxu2 si vyberu soubor s názvem druhého měsíce (například unor).

3) v každém souboru jsou 4 listy. Pro následné porovnání dat potřebuji, aby se pracovalo pouze s listem1 (pojmenovaný je month). Ostaní 3 obsahují data, které nejsou pro porovnání relevantní.

4) v listu month je 8 sloupců a 17000 řádků (cca. záleží na měsíci). V posledním sloupci je u každého řádku hodnota, kterou potřebuju porovnat s tím samým řádkem v dalším měsíci. (představit si to můžeme třeba na spotřebě auta. V lednu mělo auto1 spotřebu 10 l av únoru 8 l. Rozdíl je tedy 2 l. neboli 20%). Težké na tom je to, že Každý řádek se stává unikátním až po té, co vezmeme data ze 4 sloupců. Protože v lednu je na řádku 1 auto1, ale v únoru je třeba auto1 až na řádku 147. NEmohu proto napxat fixní porovnání: B1 v lednu porovnám s B1 v únoru. Porovnával bych jiná data. Já musím zjistit, kolik je stejných aut v měsíci leden a únor a provonat jejich spotřeby.

Auta a spotřebu používám pouze pro bližsí představu problému. V praxi se jedná o firemní data.citovat
#037443
Hav-Ran
Zdá sa, že si si zasa mlel svoje a neodpovedal na otázku o kontrétnostiach čo a kde. Ak sú dáta tajné, vyrob falošné dáta. V rovnakej štruktúre stlpcov a riadkov . Vyznač kde sa majú "porovnania dát" vypísať (rozdiel posledného stlpca v zhodnom riadku?).
Dám do placu 2 možnosti riešenia:
Spojenie stlpcov do reťazca a jeho následné porovnanie s iným mesiacom.
Tvorba kontingenčnej tabuľky s výpočtovými poľami porovnávaných hodnôt.
Nepýtaj odo mňa vzor-prílohu, ani ty si ju nedal. Ak niečo chceš, musíš niečo obetovať - prácu, dáta je to najmenej. Prachy od teba nikto nechce, len spoluprácu. Priamu, jasnú a nevzhýbavú. Inak sa ti na to každý .. vieš čo 1citovat
#037445
avatar
Ahoj,

ok, vyrobil jsem demonstrační data, na kterých by měl jít problém vysvětlit lépe.

Přikládám zde 3 soboury .xls

První se jmenuje Leden
Druhý se jmenuje Únor
Třetí se jmenuje Březen

Představme si dále, že těch souborů je 12 (máme 12 měsíců)

Potřebuju vyrobit uživatlské makro, kde si uživatel v jednom comboboxu vybere první měsíc (v našem případě třeba leden) a v druhém comboboxu si vybere druhý měsíc. Pod comboboxama bude tlačítko - Porovnat.

Po stisku tlačítka, se musí nejdříve zkontrolovat, zda materiály, které byly použity v Lednu, byly použity i v únoru. Jenže problém je v tom, že některé materiály mají stejné seriové nebo materiálové čísla. Pouze když vezmu sériové i materiálové číslo, dostanu pouze jeden výsledek. Nemohu tedy na porovnání vzít pouze sériové nebo nateriálové číslo, ale oboji.

Zjistím například, že v lednu bylo použito 10 materiálů a v únoru 13. Nejdříve porovnám, kolik materiálů bylo použito stejných a výsledek bude rozdíl hodnot ve sloupci výsledek v procentech.

Např. V lednu materiál 123456 789456 má výsledek 10
V únrou má materiál 123456 789456 výsledek 9. Po zmáčknutí tlačítka bych měl dostat výsledek, že materiál s čísly 123456 789456
-> 10%.

Jenže se může stát, že v lednu bude použit materiál, který NEBUDE použit v únoru. Nebo naopak. Poté samozřejmě k žádnůmu porovnání nemůže dojít.

Bude to složitější na naprogramování. Je mi to jasné. Proto jsem v prvním postu do začátku psal, že než budu řešit porovnávání dat, musím nejdříve zjistit, jak pomocí comboboxu načtu konkrétní list v konkrétním souboru...

Jak se mi podaří načtení, budu řešit, jak proběhne popsané porovnání.

Celkový výsledek by měl být takový:

Po kliknutí na tlačítko se mi zobrazí graf, v závislosti procenta na ose Y a měsíce na ose X a podle výrobního týmu se tyto procenta sečtou. V ukázkovém případě máme týmy KK1 - KK4. Takže by třeba mohlo být, že u KK4 v měsici únor je výsledek třeba 15%...

Je to již popsáno lépe? Jedná se o docela složitý úkol (pro mě hodně, protože se vůbec s tím co mám udělat zatím seznamuji). Pokud by zde byl někdo ochotný mi poradit, klidně můžeme celý proces rozdelit na několik fází a ty postupně dělat, než takto složitě popsat celý postup.

Předem všem moc děkuji těm, kteří si tento elaborát přečtou :)...

Díky :)
Příloha: xlsx37445_leden.xlsx (11kB, staženo 30x)
citovat
#037446
avatar
příloha 2
Příloha: xlsx37446_unor.xlsx (11kB, staženo 31x)
citovat
#037447
avatar
Priloha 3
Příloha: xlsx37447_brezen.xlsx (11kB, staženo 28x)
citovat
#037449
MePExG
Popis by už skoro bol ok, až na rozdiel v percentách (to si neviem matematicky predstaviť [iba ako nárast, alebo pokles v %]). Ak máte verziu od 2010, dá sa použiť Power Query na spojenie údajov z adresára a samotné porovnanie môže byť tabuľka výpočtov z dvoch kontingenčných tabuliek (pre ktoré nastavíte mesiace na porovnanie). Prípadne sa na to dá urobiť aplikácia ak máte v Exceli aj Power Pivot, alebo samostatne v PowerBI (ako aplikácia môže spracovať aj viac rokov a vyhodnocovať viac dimenzií [strediská, pracovníci, kraje, ...] resp. robiť aj viac druhov výpočtov).citovat
#037452
MePExG
Prikladám riešenie pomocou PQ a KT (stačí upraviť disk_Q.bat na platnú cestu a aktualizovať údaje (Ctrl+Alt+F5).
Příloha: zip37452_170830.zip (50kB, staženo 43x)
citovat
#037454
avatar
Ahoj,

vypadá to moc dobře. Jen mám prosím pár dotazů:

1) k čemu tam je ten .bat?

2) V složce data začíná každý soubor číslem 37445_Únor. Proč??

3) šlo by prosím nějak popsat, jak si dokázal, že po kliknutí třeba na team, se zobrazí pouze ty data u konkrétního týmu?? Budu tsi tam muset totiž dalších asi 10 teamu dodělat. To samé s Divizí a střediskem...

4) v Originálních datech je více sloupečků (14) a jinak se jmenujnou. Když chci nahrát správné data, tak mi excel píše, že sloupec výsledek nebyl nalezen (protože jsem ho dal pryč a nahradil ho sloupcem se správným jménem). Kde mohu tyto sloupce editovat?

Díky moc :)citovat
#037455
MePExG
Dobrý deň.
1/ bat je na vytvorenie cesty (substitúcie adresára na disk Q:) ku zdrojovým súborom.
2/ súbory začínajú číslami, lebo som ich tak stiahol a pre činnosť nie je názov súboru (zdrojových údajov) zaujímavý.
3/ Tími, divízie a strediská sú rýchle filtre, ktoré sú prepojené na obe kontingenčné tabuľky. Pri aktualizácii kt sa všetky vyskytujúce sa hodnoty aktualizujú = doplnia sa.
4/ Hav-ran písal "vyrob falošné dáta. V rovnakej štruktúre stlpcov a riadkov", kde nie tak Vám neviem pomôcť. Buď dodáte skutočnú štruktúru (všetky skutočné názvy stĺpcov a k nim vymyslené údaje), alebo sa naučte pracovať s PQ.citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje