Funkcia, ktorá ponechá z textového reťazca len čísla sa v Exceli nenachádza. Pomerne často sa ale stretávam buď na školeniach Excel alebo aj na rôznych fórach s tým, že ju ľudia potrebujú pre úspešné zvládnutie úloh v Exceli. Budeme takúto funkciu teda musieť naprogramovať. V tomto článku ale nebude vysvetľované, ako takú funkciu naprogramovať, ale ako ju „dostať“ do Excelu a použiť.
Tento príklad vznikol na školení Excel, kde mali v jednej firme problém s objednávkami, ktoré boli rôzne označované.
Aby mohli s objednávkami ďalej pracovať (napríklad používať funkciu VLOOKUP a podobne), bolo nutné, aby z objednávky ostal len reťazec čísiel. Hoci sa v Excel nachádza niekoľko stoviek funkcií, tak taká, ktorá by ponechala z reťazca len čísla tam nie je.
Poďme na to 🙂
- Otvoríme editor jazyka Visual Basic for Applications – to spravíme pomocou ALT+F11
- Dáme príkaz Insert, Module
- Do modulu, ktorý sme vložili, dáme nasledovný kód:
Public Function NechajCisla(StareCislo) As String
Application.Volatile
NechajCisla = ""
For i = 1 To Len(StareCislo)
Vyrezane = Mid(StareCislo, i, 1)
If IsNumeric(Vyrezane) Then
NechajCisla = NechajCisla & Vyrezane
Else
End If
Next i
End Function
- Editor jazyka Visual Basic for Applications môžeme zavrieť
No a môžeme funkciu začať používať. Tak ako každú ďalšiu funkciu v Exceli.Ak používate príkaz Vložiť funkciu, tak ju nájdete v kategórii Definované používateľom.
Výsledok vidíte na nasledovnom obrázku.
Poznámka: Pokiaľ by ste chceli používať túto funkciu opakovane, tak je vhodné uložiť ju do modulu v zošite personal.xlsb alebo ju uložiť ako doplnok programu Excel a doplniť do Excelu.