

excel - kopirovani casti bunky
ahoj,
tak opet jeden dotaz z exelu, se kterym sam nehnu. resp. dva dotazy. nejdriv ten jednodussi:
1) muzu si udelat v excelu 2007 vlastni klavesovou zkratku? jde mi o to, ze kdyz neco kopiruji (vkladam do excelu) tak mi to defaultne vklada i puvodni format. rad bych (idealne prenastavenou klavesovou zkratkou Ctrl + v) vlozil jen prosty text. nyni to zdlouhave vkladam pres "vlozit jinak" a vlozit prosty text. kdyz je toho vic, je to dost zdlouhave.
a ted druhy dotaz - pro me neresitelny orisek:
2) mam v bunce A2 cele jmeno a adresu. jmeno a adresa jsou od sebe vzdy oddeleny carkou a mezerou. bylo by nejak mozne tuhle bunku rozdelit do tri bunek? v bunce B2 jmeno a prijmeni (pripadne titul), v bunce C2 ulice a č.p. a v bunce D2 obec a PSC? navic je to komplikovane v tom, ze nekdy je v adrese pouzita cast obce rovnez oddelena carkou a nekdy ne. a aby to bylo jeste tezsi, tak tech jmen a adres je pres 5000. cili v bunkach A2 - A5250.
dam sem par prikladu s vymyslenym jmenem a adresou:
A1 - Novák Pavel Ing., Holandská 666/8, Vršovice, 10000 Praha 10
A2 - Šulc Jaroslav, Jiřího Šotky 98, 27101 Nové Strašecí
proc to chci, tak proto, ze je potrebuji pro hromadnou korespondenci. v tomhle stavu je nedam na obalku tak, jak maj byt. a protoze je musime oslovit, musim to i nejak ja vyresit.
jde tohle vubec nejak vyresit a nebo je to na rucni praci?
diky moc!!
ps: jeste me napada, poradil bych si i s tim, kdyby to bylo do 4 sloupcu, to co je oddeleno carkou a mezerou, tak dat vzdy do jednoho sloupce. samozrejme vzdy bez te carky.
takze
A2 - Novák Pavel Ing., Holandská 666/8, Vršovice, 10000 Praha 10
B2 - Novák Pavel Ing.
C2 - Holandská 666/8
D2 - Vršovice
E2 - 10000 Praha 10
jeste jednou diky za jakykoli napad!!!
funkcemi by se bod 2 dal řešit např tak, jako v příloze. Nevím, nakolik by poště vadilo, že bude jméno čtvrti napsané v adrese před PSČ. Nemuselo by to vadit.Ale i to by se dalo ošetřit (spočítat počet čárek a chytat se jen za poslední), záleží, kolik takových případů je a jestli by nebylo rychlejší to proletět a zkorigovat.
teda chlapi, jste dobry
to reseni - ikona : text do sloupcu - neznam. hanba me fackuje! a to druhe reseni s tim vzoreckem - na to nestacim
kazdopadne diky moc!! oboji je super
jen, jeste to trochu zkomplikuju. kdyz ste vyresili tohle, treba mi pomuzete jeste s timkle.
jedna se o to, ze se muze stat a taky se to stava, ze v jedne bunce je tech jmen nekolik. dam sem priklad:
bunka A1 vypada takhle:
Barchánek Pett, Jarní 270/40, Střížkov, 19000 Praha
Barchánek Pavel, Letní 49, Letňany, 19900 Praha 9
Kynzl Alois, Ke stadionu 99, 25267 Tuchoměřice
Kynzl Zdeněk, Pod jezem 13, 25267 Tuchoměřice
maximum jsou 4 jmena s adresama v jedne bunce s tim, ze vzdy je to v te bunce pod sebou, ale v jedne bunce. kdyz zkusim pouzit "text do sloupcu" tak mi to oddeli jen prvni jmeno a ta tri dalsi se nepouziji. slo by i tohle nejak osetrit?
jeste dodam, ze ve vetsine pripadu je v jedne bunce jedno jmeno, nekdy 2, nekdy 3 a nekdy 4. distribuce je nahodna.
Kolik je takovýchto případů? Do 100 bych to asi řešil ručně. V případě 4 údajů v jedné buňce bych pod buňku vložil 3 řádky a do nich vyjmul 3x údaje z buňky A1 (Ctrl X Ctrl V) a pak použil volbu "Text do sloupců". Ručním úpravám se stejně nevyhneš, pokud chceš mít stejné údaje ve stejném sloupci.
asi jo.. asi to tak udelam.. tech pripadu bude celkem tak tretina, ale co mi zbyva.. ikdyz by bylo fajn to mit zvladnute nerucne, protoze bohuzel data dostavam v tehle podobe a nejde s tim nic delat. vzdy dostanu v jedne bunce cekolik jmen a vzdy si s tim tedy budu muset hrat. kdyby vas neco napadlo na zautomatizovani, bylo by to super!
Tohle makro rozhází obsah zalomené buňky do jednotlivých řádků.
Neříkám, že to nejde napsat i efektivnějc, ale nechtělo se mi moc přemýšlet takhle brzo ráno.
tohle makro to zvladlo dobre
diky! mimochodem, docela by me zajimalo, jak evektivnejc by to slo
!
No myslím, že jestlis to pustil na excel s tisíci řádky, tak to pár minut muselo chroustat.
Základní zefektivnění by bylo v přidání Application.ScreenUpdating=False na začátek (před DO) a Application.ScreenUpdating=True na konec (před End Sub). Tím bys vypnul grafický výstup, makro by nemuselo nic vykreslovat - vykreslování zabere nejvíc času. Na druhou stranu bys neviděl, že "to něco dělá". Prostě by Excel na chvíli jakoby zamrznul a pak vyhodil výsledek naráz.
pak je tam taky spousta řádků Activecell.offset, kdy následně pracuji s hodnotou té buňky. To se dá napsat i efektivněji (nemusíš se napřed na tu buňku přepnout, abys pracoval s její hodnotou, můžeš se na ni odkazovat rovnou). Jenomže mně se to takto líp debuguje.
Dalo by se laborovat i s odstraněním DoEvents. Ten příkaz dovoluje počítači věnovat se i ostatním aktivitám mimo to Excel makro. U krátkých maker není potřeba, dlouhá makra bez něj tuhnou. Dost to celé makro zpomaluje ale je to stabilní.
do techhle veci jsem bohuzel nikdy neproniknul. co ted napisu, je nejspis uplna hloupost, ale dokazal bych udelat takovehle makro "zaznamem makra"? nebo se tohle da jen a pouze napsat jako kod?
Dá sa to len napísať ručne, cez záznam makra by takýto kód nikdy nevznikol. Napísať kód efektívnejšie ako to, čo vznikne záznamom makra, nie je nič zložité. Záznam makra som síce nikdy nepoužil, ale z môjho laického pohľadu sa mi to zdá ako zdĺhavý a neefektívny spôsob vytvárania makier.
Ad 1) - vlastní klávesovou zkratku si můžeš udělat jedině pro makro, ne pro vestavěné funkce Excelu.
Doporučuji ikonu "Vložit jinak" vytáhnout na pás Rychlý přístup (a nejen ji - momentálně tam má asi 25 ikon). Pak to máš rozhodně rychlejší, než kliknout na šipečku u Vložit, z menu vybrat Vložit jinak, atd... Nemluvě o tom, že ikonu v tom pásu rychlého přístupu máš dostupnou ať seš v pásu karet na libovolný záložce.
no, ja radsi pouzivam klavesnici. mam pas karet schovany a co jen trochu jde, pouzivam klavesove zkratky. napriklad tady pouziju klavesu "prave tlacitko mysi" mezi AltGr a pravym Ctrl. a tam mam nabidku vlozit jinak - pro me je to rychlejsi a intuitivnejsi nez pas karet.
dá sa na klávesovú skratku nadefinovať priamo makro vložiť hodnoty. V 2003 sa dala do panela nástrojov vložiť ikona s vlastne nadefinovaným makrom, takže by nebola potrebná klávesová skratka ale v 2007 a 2010 sa to do ribbonov pridať asi nedá ale je tam v záhlaví pás vybraných nástrojov, tam by to možno šlo tiež dať ako ikonu. Ale pokiaľ je prednosť dávaná klávesovej skratke, tak toto nie je potrebné riešiť... Najrýchlejšie je jej prideliť makro na priame vkladanie hodnôt
čo sa týka tých viacerých mien v jednej bunke, bolo by dobré vedieť, či to tam tvorca vložil amatérsky (medzerami) alebo profesionálne (Alt+Enter) Pokiaľ "profesionálne, dá sa napísať jednoduché makro, ktoré vyhľadá zalamovacie znaky a najprv rozloží bunku na jednotlivé riadky, tie sa potom dajú rezať oddeľovačmi (či už funkciou, prevodom "text na stĺpce" alebo makrom).
chlapi, vyresili ste mi docela velkej problem a usnadnili mi spoustu rucni prace
diky, diky, diky!!
ted uz si s tim muzu dal nejak hrat, ale to gro, co jsem potreboval, to uz mam a ted uz budu jen spoustet makro a pak rozdelovat text do sloupcu
jeste jednou diky a preju pekny vikend!!