Stránka 1 z 2

Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 18:31
od david.dda
Dobrý den, mám takový oříšek: na Listu1 mám v buňkách A až E různé zápisy (např. 500 řádků, které denně přibývají). V kolonce F potom mám uvedenou poznámku, jestli je řádka již splněna, nebo ne. Nyní bych chtěl do Listu2 zkopírovat z Listu1 záznamy z kolonky B a D, které jsou v poli F označeny jako splněné (kolonka F tedy má zápis - není prázdná). Jde to nějak udělat? V příloze jsem vytvořil lehký vzor, s krátkým popiskem.
Děkuji moc.

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 18:45
od mmmartin
Třeba takhle?

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 18:51
od david.dda
potřeboval bych právě, aby na listě2 nebyly pak ty volné řádky, takže aby všechny zkopírované řádky z listu1 byly pod sebou.

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 19:00
od d1amond
A šlo by třeba ty podmínky zadávat jako 0-splněno, 1-archivováno? Jde o to, že v podmínkách lépe vypadají čísla lépe s nima pracuje.

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 19:13
od david.dda
Podmínky musejí být textové, může tam být mimo textu splněno napsáno ještě něco jiného - buňka tedy nebude prázdná.

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 19:37
od d1amond
1.vzor.xls
(41 KiB) Staženo 33 x


Tak třeba takto. Splněno je podmínka, která se změní na uzavřeno. Je to kontrola, aby bylo jasné, co už je zkopírované.

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 19:48
od david.dda
děkuji za vzor. Nešlo by toto řešení udělat nějak bez makra, aby se data v listu2 upravovala automaticky a nemuselo se klikat na button? Toto řešení se bude používat na více počítačích, takže makro může zlobit. Jinak záznam v kolonce F by se neměl přepisovat, Vaše verze jakýkoliv text v kolonce F změnila na text uzavřeno.

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 19:51
od d1amond
Tak na to musí kouknout někdo, kdo se umí plácat ve strašně dlouhých podmiňovacích vestavěných funkcích. Tam mám mezery.
Akorát pochybuju, že to půjde bez makra. Je to událostní procedura a něco ji stejně musí pustit.
Dále je problém, že tam zůstane splněno. Jak se pozná, že byl už řádek zkopírovaný? Funkce, která projde všechny buňky na druhém listu a bude hledat shodu, pojede u většího množství dat dlouho.

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 20:02
od david.dda
já jsem např. původně do listu2 překopíroval pouze ty tři sloupečky B, D a F (jednoduše buňka v Listu2 =List1!B2 atd.. a u buňky F jsem to rozšířil na KDYŽ(List1!F2="";""; List1!F2) a pak na ně v listu2 vytvořil filtr a ve sloupci, kde bylo F, tak jsem ve filtru vybral (neprázdné). Problém byl ten, že když jsem změnil něco v listu1, tak se list2 nezmění, musí se opět kliknout na filt a vybrat (neprázdné). Nejde ve VBA vytvořit nějaká funkce, která by list2 po jeho nakliknutí nějak refresh-nula?

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 20:37
od d1amond
Ano, existuje. Ale je to makro, které nechceš.

Kód: Vybrat vše

ActiveSheet_Change

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 26 kvě 2012 23:24
od david.dda
mohl by jste mi prosim napsat jak toto makro vypada a kam ho vlozit. zkusil bych ho do tabulky dat a snad s tim nebudou velke problemy.

Re: Překopírování vybraných buněk z Listu1 do Listu2

Napsal: 27 kvě 2012 14:35
od d1amond
Pokud se ve sloupci F změní obsah buňky na "splněno", kopíruje se přijmení a ulice na druhý list. Vše ostatní se ignoruje.

1.vzor.xls
(40 KiB) Staženo 30 x


Makro Worksheet_Change je uloženo na listu1.