» Poradna » Programy

Excel Makra - vyhledání položky na základě znalosti jednoho údaje z řádku a její zkopírování

 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Zdravím,S Makry začínám, ostatně tak i s Funkcemi. Tak ještě neznám všechny vychytávky. Chci poprosit zkušenější osazenstvo o radu. Mám jeden sešit, který obsahuje 3 listy. Import, Sheet2 a Sheet3. Úkol zní, že z listů Sheet2 a Sheet3 přenést příslušná data do listu Import. Jedná se o obyčejné položky oblečení a bot, takže velikost, barva, výrobce, popis a jestli je to pro muže či ženy.Data, která patří k sobě, mají vždy na každém listu stejný kod.V součastnosti to dělám tak, že si zkopíruji kod z listu Import a nechám ho pomocí CTRL+F vyhledat na dvou zbylých listech. Tam se mi zobrazí na kterém řádku jsou příslušné informace. Poté čísla daných řádků zkopíruji do jednoduchého Makra a nechám jej spustit. Makro nejdříve projde a zkopíruje položky v listu Sheet2 a Sheet3 a vloží je na ta správná místa do listu Import. Takto pořád dokola. Pomůže to, ale je to pomalé.Moje vize je takové, že postup by byl následující. Zkopírovat kod z listu Import, prohledat ostatní dva listy a chtěná data zkopírovat a vložit je do správného sloupce daného řádku s kodem. Poté se přesunout o řádek níže a postup zopakovat a takhle pokračovat až na konec tabulky. Lze tento postup nějak elegantně vyřešit? Makrem? Funkcemi?V součastnosti moje Makro vypadá takto:Sub obchod()'' obchod Makro' dvojka'' Klávesová zkratka: Ctrl+i' Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Cells.Find(What:="100932-9900", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate' list sheet2 - produkt name Range("B158").Select Application.CutCopyMode = False Selection.Copy Sheets("Import").Select' list import - nazev produktu Range("B158").Select ActiveSheet.Paste Sheets("Sheet2").Select' list sheet2 - sex Range("E158").Select Application.CutCopyMode = False Selection.Copy Sheets("Import").Select' list import - kategorie 1 Range("D158").Select ActiveSheet.Paste Sheets("Import").Select' list sheet3 - destription Range("A237").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet3").Select Cells.Find(What:="100932-9900", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate Range("A237").Select Application.CutCopyMode = False Selection.Copy Sheets("Import").Select' list import - popis Range("C158").Select ActiveSheet.Paste ActiveWindow.ScrollColumn = 2 Sheets("Sheet3").Select' list sheet3 - vyrobce Range("C238").Select Application.CutCopyMode = False Selection.Copy Sheets("Import").Select' list import - vyrobce Range("E158").Select ActiveSheet.Paste Sheets("Sheet3").Select' list sheet3 - color Range("E238").Select Application.CutCopyMode = False Selection.Copy Sheets("Import").Select' list import - technicky paramatr 1 Range("F158").Select ActiveSheet.Paste Range("A145").SelectEnd SubDíky za všechny rady.

Odpovědi na otázku

 |   |  Linux Chrome 21.0.1180.89

Jo jde to makrem.Mohl bych ti to naprogramovat (třeba na stisk tlačítka ve formuláři), ale pouze v Calcu (Libre Office), což by ti asi v Excelu nechodilo.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Chrome 21.0.1180.77

Musel by si mi poslat tvůj soubor v Excelu.Já si to načtu v Libre Office (Calc) (umí import z Excelu)Přidám tam funkci a odešlu ti to ve formátu ODT.Ty by sis to musel buď spouštět v Libre Office, nebo přepsat do Excelu (to by asi nebylo jednoduchý).Nevím jestli Microsoft podporuje import z otevřeného formátu ODT (ale pochybuji).

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

NE-SMY-SL

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Makro je to poslední, co by měl uživatel excelu použít.Jestli tě dobře chápu, tvůj problém řeší funkce SVYHLEDAT().Napoprvé bývá těžší ji pochopit, příklad v helpu pomůže.Nebo detailněji popiš strukturu listů Import, Sheet2, Sheet3 anebo někam vystav vzorek.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

O této funkci jsem taky přemýšlel, ale jak říkaš, napoprvé je to těžší pochopit. Pro lepší představu dávám link, kde je onen dokument. https://skydrive.live.com/redir!47249a rovněž přikládám originál zadání:"Tato tabulka obsahuje 3 listy (import, sheet2 a sheet3). Úkolem je vyplnit celý list s názvem import a to v takové formě v jaké jsou první 3 vzorové řádky v tomtéž listě, tj. import. Všechny potřebné informace naleznete v listech sheet2 a sheet3."

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Odkaz nefunguje.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Omlouvám se. Teď by to mělo být v pořádku.https://skydrive.live.com/view.aspx!47249

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Odkaz funguje jen když kliknete na tlačítko odpovědět a zkopírujete ho z mého předposledního příspěvku.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

1. Přesuň na listech Sheet2 a Sheet3 sloupec Kod na první místo zleva2. Setřiď listy Sheet2 a Sheet3 vzestupně podle pole Kod3. Na listu Import napiš do pozice:B2: =SVYHLEDAT(A2;Sheet2!A:E;2;0)C2: =SVYHLEDAT(A2;Sheet3!A:E;2;0)D2: =SVYHLEDAT(A2;Sheet2!A:E;5;0)atd.4. Vzorce rozkopíruj dolů

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Unknown IE 9.0

Takze jestli to chapu dobre, tak kdyz tabulka v listu Import je vyplnena po radek 221, tak na dalsi radek mam napsat B222: =SVYHLEDAT(A222;Sheet2!A:E;2;0)C222: =SVYHLEDAT(A222;Sheet3!A:E;2;0)D222: =SVYHLEDAT(A222;Sheet2!A:E;5;0)Atd.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Já bych to dělal od řádku 2, čili bych to přepsal.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Macintosh OS X AppleMAC-Safari 5.0

Postupoval jsem presne podle tveho navodu, ale bez uspechu. Porad hlasi ze je ve funkci chyba, nebo ze se vyskytuje cyklicky odkaz. Tabulku mam jiz hotovou makrem, ale prijde mi logictejsi to delat pomoci funkce a tak bych si rad predelal k obrazu svemu

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Musíš někde dělat chybu, mám ten postup ověřený.Udělal jsi ten bod č.1? Tj. přesunout sloupec a tu díru po něm odstranit.Kdybys z toho dokumentu odstranil makro a zpřístupnil to pro zápis, tak ti to opravím přímo tam.Je to otázka desítek sekund.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Macintosh OS X AppleMAC-Safari 5.0

Tak se zadarilo. Jen jsem musel upravit trochu funkci. Fungovalo az =SVYHLEDAT(A2,Sheet2!A:F,2) atd. Az zatracene jednoduche. Mockrat diky za velkou pomoc. Jsem tvym dluznikem

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Ženy, Select, Import, Vyhledání, False, Vize, Oblečení, Dvojka




Určitě si přečtěte

Nvidia představila nové grafické karty GeForce RTX. Nastavila šílené ceny a chce přesvědčit ray tracingem

Nvidia představila nové grafické karty GeForce RTX. Nastavila šílené ceny a chce přesvědčit ray tracingem

** Nvidia představila nové desktopové herní grafické karty GeForce RTX ** Tři modely se pyšní masivním výkonem pouze ve spojení s ray tracingem ** Ceny jsou mnohem vyšší než u předchozích generací

Karel Javůrek | 106

Jak horko bude ve vašem městě, až vám bude 80 let? Podívejte se, jak se projeví klimatické změny!

Jak horko bude ve vašem městě, až vám bude 80 let? Podívejte se, jak se projeví klimatické změny!

** Srpen byl třetí nejteplejší za posledních více než sto let ** Bude to ale daleko horší, jak ukazuje aplikace NYT ** V Praze vzroste počet horkých dní na čtyřnásobek

Karel Kilián | 21

Proč je pro obézní lidi tak těžké shodit nadbytečná kila?

Proč je pro obézní lidi tak těžké shodit nadbytečná kila?

** Obézním lidem selhávají mechanismy, jež je mají chránit před nadměrným příjmem potravy ** Mozek tlouštíků ignoruje hormon leptin varující před hromaděním tukové tkáně v těle ** Vědci nyní odhalili, jak to udělat, aby mozek otupený obezitou leptin opět vnímal

Jaroslav Petr | 46

Acer Swift 7: Notebook tenký jako mikrotužková baterie

Acer Swift 7: Notebook tenký jako mikrotužková baterie

** Celý notebook včetně displeje se vejde pod 9 mm ** Výkon stačí pro kancelář, ale porazí ho stroje za třetinu ceny ** Ještě tenčí než předchozí generace, ale už ne tolik kompromisů

Tomáš Holčík | 34

Nový iPhone a další novinky Applu: sledujte, na co se zase budou stát fronty

Nový iPhone a další novinky Applu: sledujte, na co se zase budou stát fronty

** Apple dnes představuje nové produkty v čele s novými iPhony ** Nemusí zůstat jen u telefonů, čekají se i další novinky ** Úvodní přednáška začíná v 19:00 našeho času

David Polesný | 57


Jízdní řády Bileto
Aktuální číslo časopisu Computer

Megatest: 13 grafických karet

Srovnání 7 dokovacích stanic s USB-C

Jak na perfektní noční fotografie

Kvalitní zdroje informací pro sebevzdělávání