Ako previesť text na číslo pomocou programu Excel VBA (3 príklady s makrami)

  • Zdieľajte To
Hugh West

V programe Microsoft Excel sa najčastejšie pracuje s číslami. Niekedy musíme spracovať súbor údajov s veľkým množstvom čísel. Môžete sa však ocitnúť v situácii, keď vaše čísla vyzerajú ako text. Z tohto dôvodu nemôžete sčítať, odčítať, deliť, násobiť alebo vykonávať akékoľvek operácie. Pri pokuse o to sa vždy zobrazí chyba. V tomto návode vás naučíme, ako previesťtext na číslo v programe Excel pomocou VBA kódy s vhodnými príkladmi a vhodnými ilustráciami.

Stiahnite si cvičebnicu

Stiahnite si tento cvičebnicu

Prevod textu na čísla pomocou VBA.xlsm

Ako identifikovať čísla formátované ako text

Program Microsoft Excel je dostatočne inteligentný na to, aby pochopil rozdiel medzi textom a číslom. Automaticky ich konvertuje do príslušných formátov. Niekedy to však nedokáže urobiť z dôvodu nesprávneho použitia a interpretácie súboru údajov. Z tohto dôvodu uchováva tieto čísla v zošite ako texty.

Pozrite sa na tento súbor údajov. Tu máme v stĺpci niekoľko čísel.

Hoci máme v stĺpci čísla, všetky sú zarovnané doľava ako text. Teraz kliknite na ľubovoľnú bunku. Vedľa bunky nájdete toto políčko.

Teraz prejdite kurzorom myši na pole. Potom sa zobrazí táto správa.

Ukazuje, že bunka je formátovaná ako text. Takto si môžete byť istí, či sú bunky formátované ako text alebo nie.

3 kódy VBA na prevod textu na číslo v programe Excel

Hoci text môžete ľahko previesť na čísla ručne, tento návod je venovaný prevodu textu na čísla pomocou kódov VBA. Odporúčame vám, aby ste sa všetky tieto metódy naučili a použili na svoj súbor údajov. Určite sa vám budú hodiť v mnohých situáciách.

1. Kód VBA s metódou Range.NumberFormat na prevod textu na číslo v programe Excel

Táto metóda je pomerne jednoduchá a ľahko použiteľná pre akýkoľvek súbor údajov. Stačí vybrať rozsah buniek a vložiť ho do Kód VBA .

📌 Kroky

1. Najprv stlačte ALT+F11 na klávesnici otvoriť Editor VBA .

2. Kliknite na Vložiť> Modul .

3. Potom zadajte nasledujúci kód:

 Sub ConvertTextToNumber() With Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub 

4. Uložte súbor.

5. Potom stlačte tlačidlo ALT+F8 . Otvorí sa Makro dialógové okno.

6. Vyberte ConvertTextToNumber a kliknite na Bežte.

Nakoniec tento kód prevedie náš text na čísla.

Prečítajte si viac: Ako previesť reťazec na číslo v programe Excel VBA

2. Kód VBA s cyklom a CSng na prevod textu na číslo

Pri tejto metóde používame Slučka a CSng funkcie. CSng Funkcia v podstate prijíma akýkoľvek text ako argument a konvertuje ho na jedno číslo. Naša slučka prejde každú bunku vybraného stĺpca. Potom odovzdáme hodnotu každej bunky funkcii CSng na prevod z textu na číslo.

📌 Kroky

1. Najprv stlačte ALT+F11 na klávesnici otvoriť Editor VBA .

2. Kliknite na Vložiť> Modul .

3. Potom zadajte nasledujúci kód:

 Sub ConvertUsingLoop() For Each r In Sheets("Loop&CSng").UsedRange.SpecialCells(xlCellTypeConstants) If IsNumeric(r) Then r.Value = CSng(r.Value) r.NumberFormat = "General" End If Next End Sub 

4. Uložte súbor.

5. Potom stlačte tlačidlo ALT+F8 . Otvorí sa Makro dialógové okno.

6. Vyberte ConvertUsingLoop a kliknite na Bežte.

Ako vidíte, pomocou tohto kódu VBA sme previedli náš text na čísla.

Podobné čítania

  • Hromadný prevod textu na číslo v programe Excel (6 spôsobov)
  • Ako previesť reťazec na dlhý pomocou VBA v programe Excel (3 spôsoby)
  • Prevod reťazca na dvojnásobok v programe Excel VBA (5 metód)
  • Ako opraviť chybu prevodu na číslo v programe Excel (6 metód)

3. Prevod textu na čísla pre dynamické rozsahy v programe Excel

Predchádzajúce metódy boli určené pre vybrané rozsahy. To znamená, že musíte ručne zadať rozsah buniek do kódu. Niekedy však môže byť váš súbor údajov veľký. V takýchto prípadoch si musíte rozsah buniek pamätať. Táto metóda tento problém vyrieši. Vieme, že náš súbor údajov začína od Bunka B5 . Ale nevieme, kde to môže skončiť.

Dynamicky teda identifikujeme posledný použitý riadok programu Excel, v ktorom sú údaje, pomocou Cells(Rows.Count, "B").End(xlUp).Row . Vráti posledné neprázdne číslo riadku, ktoré spájame s " B5:B ".

📌 Kroky

1. Najprv stlačte ALT+F11 na klávesnici otvoriť Editor VBA .

2. Kliknite na Vložte > Modul .

3. Potom zadajte nasledujúci kód:

 Sub ConvertDynamicRanges() With Range("B5:B" & Cells(Rows.Count, "B").End(xlUp).Row) .NumberFormat = "General" .Value = .Value End With End Sub 

4. Uložte súbor.

5. Potom stlačte tlačidlo ALT+F8 . Otvorí sa Makro dialógové okno.

6. Potom vyberte ConvertDynamicRanges a kliknite na Bežte.

Ako vidíte, pomocou kódov VBA sa nám podarilo previesť text na čísla.

💬 Čo si treba zapamätať

✎ Tu používame pre náš súbor údajov stĺpec B. Ak sa vaše údaje nachádzajú v inom stĺpci, zmeňte podľa toho rozsah buniek v kódoch VBA.

✎ Kódy VBA budú fungovať len na aktívnom hárku.

Záver

Na záver dúfam, že vám tento návod poskytol kus užitočných vedomostí o prevode textu na číslo v programe Excel pomocou kódov VBA. Odporúčame vám naučiť sa všetky tieto pokyny a aplikovať ich na váš súbor údajov. Stiahnite si cvičný zošit a vyskúšajte ich sami. Neváhajte tiež poskytnúť spätnú väzbu v časti s komentármi. Vaša cenná spätná väzba nás motivuje k vytváraniu podobných návodov.Nezabudnite si pozrieť našu webovú stránku Exceldemy.com pre rôzne problémy a riešenia súvisiace s programom Excel.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.