< návrat zpět
MS Excel
Téma: Makro - porovnani
Zaslal/a NiQ 22.11.2010 13:00
Ahoj,
rad bych poprosil o pomoc zkusene na tomto foru. Potreboval bych si usnadnit praci, bohuzel programovat ve VBA neumim (nejake zaklady jsem dostal na stredni skole, ale nikdy jsem je dale nevyuzil) proto budu rad za kazdou pomoc.
V priloze naleznete priklad, ktery jsem vytvoril, ale abych to trochu vysvetlil ...
Mam dve tabulky, obe obsahuji jmeno, ID, project, hodiny a dalsi data.
- jmeno se muze v dane tabulce vyskytovat nekolikrat
- ID je vzdy unikatni pro dane jmeno, muze se stat ze budou dve totozna jmena ale jine ID(ale s timto zde nepocitam)
- project - u kazdeho jmena muze byt project jen jednou, nelze aby u jmena se stejnym ID se project opakoval, muze byt jen jiny
- hodiny - ciselna hodnota
Rad bych se zeptal, jestli by mi nekdo pomohl s makrem, ktere by:
porovnalo tabulku 1 a 2 a zapsalo vysledek do listu3.
ale neni to tak jednoduche ... je zde nekolik podminek:
pokud jmeno, ID a project je totozne, tak se odecte hodnota hodiny z tabulka 1 od tabulky 2 a na treti list se zapise vse jak je v prikladu
Pokud nebude nalezena potrebna shoda, data se zapisou na list 3 jen bez hodinoveho rozdilu, ale do sloupce "nenalezeno" se zapise napr. "nenalezeno"
je potreba si dat pozor na to, ze jmeno + ID muze mit jine project ale hodiny se musi spocitat jen ty, kde sedi spravne i project.
makro by melo byt na nejakou klavesovou zkratku.
Pokud by mi nekdo pomohl, byl bych moc vdecny. V pripade jakychkoli dotazu, nevahejte se na me obratit.
V pripade ze kod by byl i okomentovan, tak bych se pak pokusil si to upravit sam, abych vas dale neotravoval
Dekuji MOC predem! treba i jen za rady!
Příloha: 3279_priklad.rar (3kB, staženo 25x)
Vasey(22.11.2010 20:26)#003284 pár dotazů
1 - ta výsledná tabulka v příkladu je asi chybná - je totožná s tabulkou č.1 - je to tak?
nebo jsem to špatně pochopil
2 - ... odecte hodnota hodiny z tabulka 1 od tabulky 2 a na treti list se zapise vse jak je v prikladu... co je to vše? v příkladu je výsledná tab shodná s tab1
3 - jak se odečítají hodiny? tab2-tab1 nebo tab1-tab2? Jinak podle zadání by tam vycházela záporná čísla (např. David-pr3> 25-80= -55), nevím jestli to tak má být
4 - a např. ten Borivoj v tab2 se nevyskytuje v tab1.. bude ve výsledné tab uveden, nebo tam budou pouze data z tab1?
citovat
NiQ(23.11.2010 8:22)#003288 Ahoj,
dekuji za odpoved, trochu jsem si to neuvedomil a nahazel do vysledne tabulky jen nahodna data
, upravil jsem ji aby to vystihovalo muj umysl, dekuji za upozorneni.
zde odpovedi ke tvym dotazum:
1 - tabulka upravena
2,3 - upravil jsem to tak, ze hodiny se odectou nasledovne = hodiny(tabulka 2)-hodiny(tabulka 1) plus se do vysledne tabulky prekopiruji nektere udaje z tabulka 1 a nektere udaje z tabulka 2
4 - pokud se nektera jmena nevyskytuji v jedne z tabulek, tak se jen prekopiruji nektere udaje, viz priklad
Dekuji MOC za pomoc!
Příloha: 3288_priklad.rar (3kB, staženo 25x) citovat
Vasey(23.11.2010 17:54)#003296
NiQ(24.11.2010 17:23)#003306 Ahoj, to je presne ono, dekuji hrozne moc! Dokonce jsem to i pochopil a predel jak jsem potreboval, ovsem s jednou veci si nedokazu poradit. Pokud chci prekopirovat nektera data z tabulky 1 ci 2 do vysledne tabulky, tak mi to nefunguje pro vsechny osoby ... funguje mi to napriklad jen pro ty kde je shoda, kde dane osoby chybi apod, ale nejak jsem to nedokazal dat dohromady aby to fungovalo pro vsechny ... bylo by mozne poradit i s touto drobnosti? Ale i tak je to perfektni, jeste jednou diky
citovat
Vasey(24.11.2010 18:39)#003307 ahoj,
Přečetl jsem to po osmé a stále nechápu.
. Můžete mi to vysvětlit nějak přesněji? Asi mi nějak přetekl zásobník...
citovat
NiQ(25.11.2010 12:47)#003312 To jsem cely ja, moje myslenkove pochody jsou nekdy hodne poblaznene
.
Mel jsem na mysli:
pokud je podminka splnena - tak se do vysledne tabulky neprekopiruji jen data, ktera se porovnavala (coz se deje v tuto chvili), ale ze se zaroven do vysledne tabulky prekopiruji i dalsi data, ktere jsou v dalsich sloupcich (viz muj posledni file).
Pokud script spustim v tuto chvili, tak nektere sloupce ve vysledne tabulce zustanou prazdne, ale meli by byt vyplneny udaji bud z tabulka 1 nebo tabulka 2. Co by melo byt v danych sloupcich je zapsano v prvnim radku - vysledna tabulka.
Me to bohuzel nefunguje uplne korektne, nevim kde delam chybu ...
Dekuji za pomoc!
Pokud to nebude stale srozumitelne, tak me radsi zastrelte, ale na vic nemam
citovat
Vasey(25.11.2010 15:07)#003313 jo tak..
To stačí jen doplnit sloupce jaké chcete. Předpokládal jsem, že to zvládnete sám, podle vzoru.
Snad to bude ono.
A drobná poznámka... nebylo by lepší mít záhlaví obou tabulek shodné? Takhle riskujete chyby
Příloha: 3313_priklad-navrh-2.rar (16kB, staženo 25x) citovat
NiQ(28.11.2010 15:44)#003347 Ahoj, diky moc ... ja jsem to zkousel, ale bohuzel mi to nikdy nefungovalo jak melo, vzdy se mi to zobrazilo jen u nekterych.
Dekuji MOC!
citovat