< návrat zpět

MS Excel


Téma: odstranění poč. nul rss

Zaslal/a 17.9.2009 12:29

Dobrý den !

Mám sloupec kódů (mix čísel a písmen) a potřeboval bych odstranit počáteční nuly. někde jsou dvě, někde jedna, někde žádná. Délka kódů se taky liší.. víte jak jednoduše ??

díky

Zaslat odpověď >

#000727
Jeza.m
Dobrý den,

způsobů bude asi více, možná by to šlo i nějakým vzorcem, ale osobně pro mě je rychlejší napsat si na to makro.

Následující kód začne prvním řádkem prvního sloupce a jede řádek po řádku dokud jsou v buňce hodnoty.
na každém řádku ověří je-li na začátku 0 a pokud ano, tak je hodnotu o jeden znak zleva ořízne. Toto ověření udělá pro každou buňku tolikrát kolik má daná buňka znaků. Ve skutečnosti pokud jsou max. 3 nuly na začátku, tak by stačilo toto provést 3x a ne na plný počet znaků, čímž by se makro zrychlilo.

Public Sub smaz_nuly()
Dim radek As Single
Dim sloupec As Single
radek = 1 'počáteční řádek
sloupec = 1 'prohledávaný sloupec

Do While Cells(radek, sloupec) <> ""
For i = 1 To Len(Cells(radek, sloupec))
If Left(Cells(radek, sloupec), 1) = "0" Then Cells(radek, sloupec) = Mid(Cells(radek, sloupec), 2)
Next
radek = radek + 1
Loop

End Sub


S pozdravem
M@citovat
#000728
avatar
super, děkujicitovat
#000742
avatar
Ehm ... tak jsem se taknějak dostal k aplikaci makra až tďkom a nerozchodil jsem ho, presp. nedělá to, co jsem potřeboval - nedělá rovnou nic.
jsem naprostý makroamatér. Otevřel jsem si nový sešit, který jsem pak uložil "s podporou maker" na kartě vývojář :) jsem si jednak povolil všechna makra v nastavení a kllikl na "Makra" a dal vytvořit, zkopíroval kód a uložil. Vložil jsem zde po o5ovném otevření sloupes s mými kódy a dal Makra-> spustit makro a nic :)
Dělám něco špatně ??
možná jsem to dělal malinko v jiném pořadí ... PS: každopádně nic

díky, h.citovat
#000748
Jeza.m
Podle popisu to vypadá na Office 2007, kde jsem při jeho prvním testu hledal asi půl hodiny, než jsem našel editor maker :-). Nakonec jsem zůstal u 2003, ale makro jako takové by se mělo v obou verzích chovat stejně - přeci jen je to "jen" práce s textovým řetězcem. Vysvětlovat co a jak by asi bylo na dlouho a tak přikládám příklad.

M@
Příloha: zip748_nuly.zip (0kB, staženo 51x)
citovat
#000755
avatar
ahoj,

díky, už jsem našel chybu - ta byla mezi monitorem a klávesnicí ;)

ale přesto díky moccitovat
#036386
avatar
řešil jsem podobný problém, ovšem mě stačil jednoduchý vzorec - A2*1 a aplikoval jsem to na celý sloupec.citovat
#036389
avatar

pisztyu napsal/a:

řešil jsem podobný problém, ovšem mě stačil jednoduchý vzorec - A2*1 a aplikoval jsem to na celý sloupec.


A ako ti to prenásobilo písmenká? Napríklad "00985ab65"?citovat
#036390
avatar
Jednoduše? Ano. Pro vás? Těžko říct. Regulární výrazy.citovat
#036391
avatar
Vzorcem?

=ČÁST(A1;POZVYHLEDAT(NEPRAVDA;"0"=ČÁST(A1;ŘÁDEK(NEPŘÍMÝ.ODKAZ("1:"&DÉLKA(A1)));1);0);DÉLKA(A1))

Vložit maticově ("trojhmatem" ctrl-shift-enter)citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje