Co je Excel VBA CDBL?

CDBL je funkce VBA, která používá k převodu výrazů na typ dvojitého dat. VBA se skládá z řady funkcí pro převod dat. To pomáhá změnit datový typ proměnné nebo hodnoty z jedné na druhou. V různých výpočtech je konverze nezbytným procesem k získání správného výsledku. CDBL je jednou z funkcí převodu dat obsažených ve funkcích převodu typu ve VBA. CDBL znamená „Převést na dvojnásobek“. Při zpracování dat můžete narazit na situace, kdy se celá čísla změní na dvojnásobnou. Tato funkce vám pomůže vytisknout přesný výsledek. Funkce VBA CDBL přijímá pouze čísla. Jakýkoli výraz kromě čísel způsobí chybu typu Neshoda typu.

Formát funkce CDBL v Excelu VBA

CDBL je jednoduchá funkce, která vyžaduje, aby jediný výraz fungoval ve VBA. Výraz by měl být číslo.

  • Výraz: Je číslo, které chcete převést na plovoucí číslo.

Pokud se výraz liší od čísla, funkce vrátí chybu neshody. Viz níže uvedený příklad, kde je do funkce CDBL předán nečíselný výraz a došlo k neshodě typu chyby.

Použití funkce CDBL ve VBA

Podívejme se, jak nám funkce VBA CDBL pomáhá při zpracování dat. Chcete-li získat jasný přehled a porozumět praktickému využití změny typu dat, viz níže uvedený příklad. Můžete vidět rozdíl podle typu dat použitého ve stejné proměnné.

  • Deklarujte proměnnou jako celočíselný typ dat a přiřaďte jí plovoucí hodnotu. Při tisku hodnoty uvidíte, jak se bude hodnota zobrazovat.

Kód:

 Private Sub addconvert () Dim b As Integer End Sub 

  • K deklarované celočíselné proměnné je přiřazena plovoucí hodnota. 785.456923785475 je přiřazena k proměnné b, což je celočíselná proměnná.

Kód:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 End Sub 

  • Pomocí pole se zprávou vytiskněte přiřazenou hodnotu.

Kód:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 MsgBox b End Sub 

Podívejte se, jak výsledky ukazují rozdíl při tisku hodnoty.

Přiřadili jste číslo s pohyblivými hodnotami, ale výstup zobrazuje pouze celou část daného čísla. Zde je proměnná 'b' deklarována jako celé číslo, takže nepřijme plovoucí hodnotu. Celá část desítkové hodnoty je převzata a desítkové části je zabráněno. Protože proměnná je deklarována jako celé číslo, bude číslo zaokrouhleno na nejbližší celé číslo.

Chcete-li data vytisknout beze změny, změňte typ proměnné na dvojitý namísto celočíselného typu dat.

  • Jednoduchou změnou stejného kódu můžete vytisknout dané číslo tak, jak je. Deklarujte proměnnou jako dvojitý datový typ.

Kód:

 Private Sub addconvert () Dim b jako Double End Sub 

  • Deklarované dvojité proměnné je přiřazeno číslo jako double. 785.456923785475 je přiřazena proměnné b, která je v datovém typu dvojitá.

Kód:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 End Sub 

  • Pomocí pole se zprávou vytiskněte přiřazenou hodnotu.

Kód:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 MsgBox b End Sub 

Podívejte se, jak výsledky ukazují rozdíl při tisku hodnoty. Přiřadili jste číslo s pohyblivými hodnotami.

Porovnejte oba výstupy a uvidíte rozdíl. Dokonce i data a proměnná jsou stejné jako změna v datovém typu změnila celý výstup. Z toho získáte důležitost datového typu a jak to ovlivňuje celý program. To je důvod k použití jiného typu konverzních funkcí s VBA.

Příklady funkce CDBL v aplikaci Excel VBA

Níže jsou uvedeny různé příklady převodu VBA na dvojnásobek.

Tuto šablonu VBA CDBL Excel si můžete stáhnout zde - VBA CDBL Excel Template

Příklad č. 1: Převeďte typ dat řetězce na dvojnásobek

Podívejme se, jak probíhá převod dat a jaké jsou změny, které můžete provést pomocí funkcí pro převod dat. Řetězec je datový typ, který přijímá všechny datové typy. Proměnná je definována jako řetězec a přiřazuje jí číslo.

  • Pomocí soukromé funkce zkontrolujte změny v různých typech dat, vytvořte funkci převést jako soukromou deklarovat proměnnou 'a' jako řetězec.

Kód:

 Převést soukromý díl () Dim a As String End Sub 

  • K provedení převodu potřebujete proměnnou. Protože se proměnná převádí na dvojitý datový typ, deklarujte ji jako dvojitý datový typ. Po převodu dat bude této proměnné přiřazena hodnota.

Kód:

 Převod soukromého sub () Dim a As String Dim převodu jako Double End Sub 

  • Přiřazte plovoucí číslo 1234.5645879 řetězcové proměnné. Datový typ řetězce akceptuje čísla s pohyblivými hodnotami.

Kód:

 Převod soukromého sub () Dim a As String Dim převodu jako Double a = 1234.5645879 End Sub 

  • Nyní použijte funkci VBA CDBL k převodu hodnoty na dvojnásobek. Můžete použít proměnnou „convert“, která je deklarována jako dvojitý datový typ. Předejte proměnnou 'a' jako výraz funkci CDBL.

Kód:

 Private Sub convert () Dim a As String Dim převést jako Double a = 1234.5645879 convert = CDbl (a) End Sub 

  • Chcete-li zobrazit výstupní hodnotu, můžete tisknout pomocí okna se zprávou.

Kód:

 Private Sub convert () Dim a As String Dim převést jako Double a = 1234.5645879 convert = CDbl (a) MsgBox převést End Sub 

  • Spusťte tento kód přímým stisknutím klávesy F5 nebo ručně stisknutím tlačítka Spustit na levém horním panelu.

  • Hodnota přiřazená k proměnné 'a' bude vytištěna stejně s plovoucími body a celočíselnou hodnotou. Hodnota je převedena na dvojitý datový typ a stejný je vytištěn jako níže.

Příklad č. 2 - Převod a přidání dvou čísel

V rámci výpočtu máte k dispozici dvě proměnné. Oba jsou plovoucí čísla s desetinnými hodnotami. Jedna proměnná je ale deklarována jako celé číslo a druhá jako dvojitá.

  • Vytvořte funkci add a najděte součet dvou čísel. Dvě proměnné A1 a A2 jsou deklarovány jako celé a dvojité.

Kód:

 Private Sub add () Dim A1 jako Integer Dim A2 jako Double End Sub 

  • Přiřaďte dvě čísla příslušným proměnným. Oba jsou dvě plovoucí čísla s desetinnými hodnotami.

Kód:

 Private Sub add () Dim A1 jako integer Dim A2 jako Double A1 = 1256, 45 A2 = 1234, 58 End Sub 

  • Deklarujte třetí proměnnou částku jako dvojitý datový typ, protože výsledkem bude dvojitá hodnota.

Kód:

 Private Sub add () Dim A1 jako integer Dim A2 jako Double Dim sum As Double A1 = 1256, 45 A2 = 1234, 58 End Sub 

  • Přidejte daná dvě čísla a výsledek vložte do proměnné sumy.

Kód:

 Private Sub add () Dim A1 jako Integer Dim A2 jako Double Dim sum As Double A1 = 1256, 45 A2 = 1234, 58 suma = A1 + A2 End Sub 

  • Pomocí pole se zprávou lze výstup vytisknout.

Kód:

 Private Sub add () Dim A1 jako integer Dim A2 jako Double Dim sum As Double A1 = 1256, 45 A2 = 1234, 58 sum = A1 + A2 MsgBox suma End Sub 

  • Spusťte tento kód přímým stisknutím klávesy F5 nebo ručně stisknutím tlačítka Spustit na levém horním panelu.

Očekávaný výsledek je 2491, 03 a při kontrole výstupu můžete vidět nějaký rozdíl ve výsledku. K neshodě ve výsledku došlo v důsledku hodnoty převzaté proměnnou A1. Protože se jedná o celočíselnou proměnnou, nepřijme desetinnou část čísla při zpracování součtu se vezme pouze celá část.

  • Chcete-li tomu zabránit, převeďte číslo A1 na dvojnásobek a převeďte převedené číslo na jinou proměnnou A3.

Kód:

 Private Sub add () Dim A1 jako integer Dim A2 jako Double Dim sum As Double A1 = 1256, 45 A2 = 1234, 58 A3 = CDbl (1256, 45) suma = A1 + A2 Součet MsgBox End Sub 

  • Nyní přidejte převedenou proměnnou s A2 místo A1. Protože je číslo převedeno na dvojitý datový typ, hodnota s plovoucími čísly bude přijata a přidána s A2.

Kód:

 Private Sub add () Dim A1 jako integer Dim A2 jako Double Dim sum As Double A1 = 1256, 45 A2 = 1234, 58 A3 = CDbl (1256, 45) suma = A2 + A3 MsgBox suma End Sub 

  • Spusťte tento kód přímým stisknutím klávesy F5 nebo ručně stisknutím tlačítka Spustit na levém horním panelu.

Hodnota součtu byla opravena a přinesla očekávaný výsledek.

Co si pamatovat

  • Funkce VBA CDBL nepřijme hodnoty spíše než číslo.
  • Pokud je funkce VBA CDBL dána textová hodnota, dojde k chybě neshoda typu.
  • Dvojitý datový typ zobrazuje 13místné desetinné hodnoty.
  • Funkce VBA CDBL vám pomůže získat správný výsledek při zpracování čísel v Excelu.

Doporučené články

Toto je průvodce funkcí VBA CDBL. Zde diskutujeme o tom, jak pomocí funkce VBA CDBL převést hodnotu na typ Double Data v Excelu spolu s několika praktickými příklady a šablonou Excel ke stažení. Můžete si také prohlédnout naše další doporučené články -

  1. Komentář k bloku VBA
  2. SUMPRODUCT Funkce v Excelu
  3. Pojmenovaný rozsah VBA
  4. Funkce COMBIN v Excelu

Kategorie: