

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!!!
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.