Jaroslavzatko
29.04.13,06:00
dobry den
potreboval by som poradit, ako zoradit takyto kombinovany text, dakujem
sthruska
29.04.13,05:11
Normálne :). V čom máš problém?
ivka70
29.04.13,05:47
Problem ma v tom, ze ak bude mat formaty cislo + text (12A), zoradi mu naskor cisla, potom text (1,3,6,9,8A,12C).
A ak bude mat format len text, zoradi mu to v poradi 1, 12A, 3, ....
Predpokladam, ze chce zoradit podla cisel ......a potom podla pismen.

Da sa to urobit rozne, napr. si vytvoris skryty stlpec len s cislami a usporiadas podla neho, alebo cely format rozdelis do 2, v jednom bude cislo, v druhom text ... a usporiadas podla nich.
Ak potrebujes ten text cely, vies ho jednoduchou funkciou spojit do jednej bunky.
PaloPa
29.04.13,06:23
Ivka dala viac verzií riešenia, Jaro však nezadal požiadavku čo presne chce :)

Iba jeden tip: vo všeobecnosti platí, ak sortujem čísla kombinované s písmenami, resp uložené ako text,
je dobré ich mať na spoločnej báze, t.j. ak sú 2, resp 3-miestne čísla, predradiť im vodiacu nulu, prípadne doplniť podľa iných kritérií, ako bolo riešené v tomto príspevku:
http://www.porada.sk/t214120-makro-doplnit-v-retazci-pred-bodkou-a-za-bodkou-dva-ciselne-znaky.html

P.
Jaroslavzatko
29.04.13,08:27
ivka to pochopila spravne, este mi poradite ako rozdelit bunku na 2, jednu s cislami a druhu s textom, je tam problem, ze cisla maju niekedy 2, inokedy 3pozicie, takze left, right asi nepojde (myslim nieco ako vyber vsetky hodnoty, ktore su cisla a dalsia vsetky pismena), dakujem
PaloPa
29.04.13,09:47
... este mi poradite ako rozdelit bunku na 2, jednu s cislami a druhu s textom, je tam problem, ze cisla maju niekedy 2, inokedy 3pozicie,...

Dalo by sa to všelijakými krkolomnými vzorcami, ale cez makro je to jednoduchšie, napr, takto:


Function ExtractCharacters(ByVal s As String, blnNums As Boolean)
Application.Volatile

With CreateObject("vbscript.regexp")
.Global = True
.IgnoreCase = True
.Pattern = IIf(blnNums, "\D", "\d")
ExtractCharacters = .Replace(s, vbNullString)
End With
End Function


Potom sa to dá použiť takto (zdroj je v bunke A1):


= ExtractCharacters(A1,1)
Ak chceš získať číslice z A1 bunky


= ExtractCharacters(A1,0)
Ak chceš získať iné znaky ako číslice.