Přejít na hlavní obsah

Převod textu na plovoucí desetinnou čárku v VBA Excel

  • Blahoslav Bureš
  • Rady

Visual Basic for Applications (VBA) - je to programovací jazyk, který se používá k automatizaci úloh v Excelu. Jedním z často se vyskytujících úkolů je převést text obsahující numerické informace na čísla s plovoucí desetinnou čárkou pro další zpracování.

Převod textu na plovoucí desetinnou čárku může být nutný, pokud jsou data, se kterými pracujete, obsažena v textovém formátu a chcete tyto hodnoty provádět matematické operace, porovnávat nebo analyzovat.

VBA Excel má několik způsobů, jak převést text na číslo s plovoucí desetinnou čárkou. Jedním z nich je využití funkce CDbl. Tato funkce převádí hodnotu na číselný typ dat s plovoucí desetinnou čárkou. Pokud máte například textový řádek "3.14", můžete jej převést na plovoucí desetinnou čárku pomocí následující syntaxe: CDbl("3.14") což vrátí hodnotu 3.14 v číselném formátu.

Je však třeba poznamenat, že pokud textový řetězec obsahuje znaky, které nejsou čísla nebo tečka, konverze bude neúspěšná a výsledkem bude hodnota 0.

Kde a jak lze v Excelu VBA převést text na plovoucí desetinnou čárku?

V aplikaci Microsoft Excel vám nástroj pro automatizaci a programování VBA (Visual Basic for Applications) umožňuje převést text na číslo s plovoucí desetinnou čárkou v různých kontextech. Níže je několik situací, kde a jak to lze udělat:

SituacePříklad kódu
Převod buňky na čísloDim number As Double
number = CDbl(Range("A1").Value)
Převod řádku na čísloDim text As String

Dim number As Double

Dim number As Double

Funkce CDbl se používá k převodu textu nebo hodnoty proměnné na číslo s plovoucí desetinnou čárkou (datový typ Double).

Je důležité si uvědomit, že konverze může způsobit chybu, pokud text nelze správně interpretovat jako číslo s plovoucí desetinnou čárkou. Před použitím funkce CDbl se proto doporučuje zkontrolovat vstupy tak, aby odpovídaly formátu čísla.

Metody automatického převodu na plovoucí desetinnou čárku v Excelu VBA

Excel VBA nabízí několik metod automatického převodu textu na číslo s plovoucí desetinnou čárkou. To může být užitečné, pokud potřebujete provést matematické operace nebo srovnání s daty, která jsou původně textovým řádkem.

První metoda - Val - umožňuje převést text na plovoucí desetinnou čárku ignorováním všech znaků, které nejsou čísly nebo desetinnými oddělovači. Pokud máte například textový řádek "12.34 abc", volání funkce Val("12.34 abc") Vrátí číslo 12.34. Za pozornost však stojí, že Val ignoruje všechny znaky následující po desetinném děliči: Val("12.34.56") také vrátí číslo 12.34.

Druhá metoda - CDbl - používá se k explicitnímu převodu hodnoty na číslo s plovoucí desetinnou čárkou. Například CDbl ("12.34") Vrátí číslo 12.34. Pokud textový řetězec obsahuje znaky, které nejsou čísly nebo desetinnými oddělovači, CDbl způsobí chybu. Před použitím CDbl se proto doporučuje zkontrolovat, zda lze hodnotu převést.

Třetí metoda - IsNumeric - umožňuje zkontrolovat, zda lze hodnotu převést na číslo s plovoucí desetinnou čárkou. Pokud je hodnota číslem, funkce vrátí hodnotu True, jinak - False. Například IsNumeric("12.34") vrátí True a IsNumeric ("abc") vrátí False. Aplikace IsNumeric před použitím Val nebo CDbl může pomoci vyhnout se chybám při provádění programu.

V závislosti na vašem konkrétním úkolu a typu dat, která zpracováváte, se výběr metody převodu může lišit. V mnoha případech však použití Val nebo CDbl s předběžnou kontrolou pomocí IsNumeric stačí k úspěšnému převodu textu na plovoucí desetinnou čárku v Excelu VBA.