Obsah
V aplikaci Microsoft Excel se nejčastěji pracuje s čísly. Někdy musíme zpracovat datovou sadu s velkým množstvím čísel. Může se však stát, že se dostanete do situace, kdy čísla vypadají jako text. Z tohoto důvodu nemůžete sčítat, odčítat, dělit, násobit ani provádět žádné operace. Při pokusu o to se vždy zobrazí chyba. V tomto návodu vás naučíme, jak převésttext na číslo v aplikaci Excel pomocí VBA s vhodnými příklady a vhodnými ilustracemi.
Stáhnout cvičebnici
Stáhněte si tento cvičebnice
Převod textu na čísla pomocí VBA.xlsm
Jak rozpoznat čísla formátovaná jako text
Microsoft Excel je dostatečně chytrý na to, aby pochopil rozdíl mezi textem a číslem. Automaticky je převede do příslušných formátů. Někdy to však nedokáže kvůli nesprávnému použití a interpretaci datové sady. Z tohoto důvodu ponechává tato čísla v sešitě jako texty.
Podívejte se na tento soubor dat. Zde máme ve sloupci několik čísel.
Ačkoli máme ve sloupci čísla, všechna jsou zarovnána vlevo stejně jako text. Nyní klikněte na libovolnou buňku. Vedle buňky se zobrazí toto pole.
Nyní najeďte kurzorem myši na pole. Poté se zobrazí tato zpráva.
Ukazuje, že buňka je formátována jako text. Tímto způsobem si můžete být jisti, zda jsou buňky formátovány jako text, nebo ne.
3 kódy VBA pro převod textu na číslo v aplikaci Excel
Ačkoli můžete text na čísla snadno převést ručně, tento návod se zabývá převodem textu na čísla pomocí kódů VBA. Doporučujeme vám, abyste se všechny tyto metody naučili a použili je na svůj soubor dat. Jistě se vám budou hodit v mnoha situacích.
1. Kód VBA s metodou Range.NumberFormat pro převod textu na číslo v aplikaci Excel
Tato metoda je poměrně jednoduchá a lze ji snadno použít na jakoukoli datovou sadu. Stačí jen vybrat rozsah buněk a vložit jej do pole. Kód VBA .
📌 Kroky
1. Nejprve stiskněte ALT+F11 na klávesnici, abyste otevřeli Editor VBA .
2. Klikněte na Vložit> Modul .
3. Poté zadejte následující kód:
Sub ConvertTextToNumber() With Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub
4. Uložte soubor.
5. Poté stiskněte tlačítko ALT+F8 . Otevře se Makro dialogové okno.
6. Vyberte ConvertTextToNumber a klikněte na Spusťte.
Nakonec tento kód převede náš text na čísla.
Přečtěte si více: Jak převést řetězec na číslo v aplikaci Excel VBA
2. Kód VBA se smyčkou a CSng pro převod textu na číslo
V této metodě používáme Smyčka a CSng funkce. CSng Funkce v podstatě přijímá jako argument libovolný text a převádí jej na jedno číslo. Naše smyčka projde každou buňku vybraného sloupce. Poté předáme hodnotu každé buňky funkci CSng převést z textu na číslo.
📌 Kroky
1. Nejprve stiskněte ALT+F11 na klávesnici, abyste otevřeli Editor VBA .
2. Klikněte na Vložit> Modul .
3. Poté zadejte následující 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 soubor.
5. Poté stiskněte tlačítko ALT+F8 . Otevře se Makro dialogové okno.
6. Vyberte ConvertUsingLoop a klikněte na Spusťte.
Jak vidíte, pomocí tohoto kódu VBA jsme převedli náš text na čísla.
Podobná čtení
- Hromadný převod textu na číslo v aplikaci Excel (6 způsobů)
- Jak převést řetězec na dlouhý pomocí VBA v aplikaci Excel (3 způsoby)
- Převod řetězce na dvojnásobek v aplikaci Excel VBA (5 metod)
- Jak opravit chybu převodu na číslo v aplikaci Excel (6 metod)
3. Převod textu na čísla pro dynamické rozsahy v aplikaci Excel
Předchozí metody byly určeny pro vybrané rozsahy. To znamená, že musíte ručně zadat rozsah buněk do kódu. Někdy však může být váš soubor dat velký. V takových případech si musíte rozsah buněk pamatovat. Tato metoda tento problém překoná. Víme, že náš soubor dat začíná od. Buňka B5 . Ale nevíme, kde to může skončit.
Proto dynamicky identifikujeme poslední použitý řádek Excelu, ve kterém jsou data, pomocí příkazu Cells(Rows.Count, "B").End(xlUp).Row
. Vrací poslední neprázdné číslo řádku, které spojujeme s " B5:B ".
📌 Kroky
1. Nejprve stiskněte ALT+F11 na klávesnici, abyste otevřeli Editor VBA .
2. Klikněte na Vložte > Modul .
3. Poté zadejte následující 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 soubor.
5. Poté stiskněte tlačítko ALT+F8 . Otevře se Makro dialogové okno.
6. Poté vyberte ConvertDynamicRanges a klikněte na Spusťte.
Jak vidíte, pomocí kódů VBA se nám daří převádět text na čísla.
💬 Co si zapamatovat
✎ Zde používáme pro náš soubor dat sloupec B. Pokud jsou vaše data v jiném sloupci, změňte podle toho rozsah buněk v kódech VBA.
✎ Kódy VBA budou fungovat pouze na aktivním listu.
Závěr
Závěrem doufám, že vám tento návod poskytl kus užitečných znalostí o převodu textu na číslo v aplikaci Excel pomocí kódů VBA. Doporučujeme vám naučit se všechny tyto pokyny a aplikovat je na vaši datovou sadu. Stáhněte si cvičný sešit a vyzkoušejte si je sami. Neváhejte také poskytnout zpětnou vazbu v sekci komentářů. Vaše cenná zpětná vazba nás motivuje k vytváření podobných návodů.Nezapomeňte se podívat na naše webové stránky Exceldemy.com pro různé problémy a řešení související s aplikací Excel.