Cloud Computing Center



User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 

Táto úloha ma inšpirovala z dôvodu, že pracovníci vo firmách riešia import dát z informačných systémov, kde v číslach namiesto desatinných čiarok dostanú desatinné bodky. Cieľom je rýchlym a elegantným riešením prekonvertovať tieto "čísla" na reálne čísla. Bežne môžeme použiť nahradenie textu (Karta Home > Find&Select > Replace), ale v niektorých prípadoch môže dôjsť k výraznej zmene čísla pri jeho čísla (napr. číslo s desatinnými miestami zmení na celé).

Práve pre tento prípad som pripravil nasledujúce makro.

Súbor s riešením je samozrejme k dispozícii na stiahnutie kliknutím sem. Funguje to tak, že po otvorení je potrebné vyznačiť údaje, ktoré obsahujú desatinné bodky, potom  makro s názvom NahradDesatinneBodkyZaCiarky  spustíme klávesovou skratkou CTRL + SHIFT + N alebo napr. prostredníctvom karty View kde úplne napravo nájdeme Macros > View Macros, príp. klávesovou skratkou ALT + F8. Prostredníctvom príkazu View Macros nám Excel zobrazí nasledovné okno, kde makro NahradDesatinneBodkyZaCiarky  spustíme prostredníctvom Run.

Pozor, ak Vám makro v Exceli nejde spustiť, skúste si všimnúť, či ich máte povolené, čo Excel informuje notifikačným panelom v hornej časti, vyzerá to nasledovne:

Je potrebné zvoliť Enable Content :)

Pre tých, ktorí sa učia programovať v Microsoft Excel VBA uvádzam zdrojový kód spolu s poznámkami, ktorý som použil:

Sub NahradDesatinneBodkyZaCiarky()
' NahradBodkyZaCiarky Macro
'
' Deklaracia premennych cell a commaPosition
  Dim cell As Range
  Dim commaPosition As Integer
  For Each cell In Selection 
    ' Najprv zistime ci bunka obsahuje desatinnu bodku 
    commaPosition = InStr(cell.Value, ".") 
    ' Ak ano, tak este zistujeme ci aktualna bunka je prazdna, ak nie, potom ... 
    If commaPosition > 0 And Not IsEmpty(cell) Then 
      ' ... nahradime desatinne bodky za ciarky a pripocitame 0, aby sme prekonvertovali text na cislo 
      cell.Value = Replace(cell.Value, ".", ",") + 0 
    End If 
  Next cell 
End Sub

Ak by ste mali otázky alebo pripomienky k tomuto makro, píšte prosím do komentárov alebo chatu, príp. ak máte záujem o školenie Tvorba makier v Exceli, neváhajte ma prosím kontaktovať.

Prihlásenie

About Jan Zitniak

Jan ZitniakFor over 11 years Jan Zitniak has been a professional instructor concentrating on Microsoft Office. He holds an international Microsoft Excel – Office Excel ® 2010 Expert certificate and has written several books discussing Microsoft Office.

obalka microsoft excel for intermediates

I'm author of books Microsoft Excel 2019 for intermediates, Microsoft Excel 2019 for beginners (for free, download here), Microsoft Outlook 2013 Jednoduše (translated to czech language), Microsoft Office 2016 Podrobná uživatelská příručka (translated to czech language).

The information mentioned in the books comes from practical experience he obtained at such large companies as T-Systems, BSH Bosch and Siemens, Veolia, Magneti Marelli, Coavis, National Bank of Slovakia and many others.

If you like my website you can support me by buying my book on Amazon clicking here.

Príručka Microsoft Word, Excel, PowerPoint zadarmo na stiahnutie

Certifikáty

banner-kontakt-janzitniak-ponuka-pocitacovych-kurzov