VBA CDBL-functie

Excel VBA CDBL-functie

VBA CDBL is een ingebouwde conversiefunctie voor gegevenstypen en het gebruik van deze functie is dat het het gegevenstype van de waarde van een gegeven variabele omzet in een dubbel gegevenstype, deze functie heeft slechts één argument nodig, namelijk de waarde van de variabele zelf.

In VBA staat "CDBL" voor "Convert to Double". Deze functie converteert het gegeven getal naar het gegevenstype Dubbel. Bekijk de syntaxis van de CDBL-functie.

  • Expressie is de waarde die we proberen te converteren naar het gegevenstype Dubbel.

Elk zwevend getal dat is opgeslagen als een ander dan dubbel gegevenstype, kan worden geconverteerd door de CDBL-functie toe te passen.

Wijs om hier te onthouden aan: alleen numerieke waarden kunnen worden geconverteerd naar het gegevenstype Dubbel. Iets anders dan numerieke waarde kan niet worden geconverteerd naar dubbel type, dus uiteindelijk wordt "Type Mismatch Error in VBA" weergegeven, zoals hieronder.

Heeft u ooit een dubbel gegevenstype gebruikt in VBA-codering?

Zo niet, dan is het de moeite waard om er nu naar te kijken. Dubbel is het gegevenstype dat wordt gebruikt om de decimale positie van het nummer op te slaan. We kunnen maximaal 13 drijvende decimale getallen hebben.

Kijk voor een voorbeeld naar de onderstaande VBA-code.

In het bovenstaande heb ik het variabele (k) -type gedefinieerd als Integer. Dim k als geheel getal

Vervolgens heb ik de waarde toegewezen als k = 25.4561248694615

Als ik de code uitvoer, krijgen we het resultaat als volgt.

We hebben het resultaat als 25. Omdat we de variabele hebben gedefinieerd als Integer VBA, rond af naar de dichtstbijzijnde gehele waarde.

Om het resultaat te laten zien zoals het is, moeten we het type variabele veranderen van Integer in Double.

Dit zou ons het exacte aantal moeten geven dat we aan de variabele hebben toegewezen.

Ok, met dit in gedachten kunnen we ook alle breukgetallen die zijn opgeslagen als een niet-dubbel gegevenstype converteren.

Voorbeelden om de VBA CDBL-functie te gebruiken

U kunt deze VBA CDBL-functiesjabloon hier downloaden - VBA CDBL-functiesjabloon

Voorbeeld 1

Laten we de onderstaande code bekijken om de procedure te starten.

Code:

 Sub Double_Example1 () Dim k As String k = 48.14869569 MsgBox k End Sub 

Nu zal ik de code uitvoeren en kijken wat er gebeurt.

Ook al is het VBA-variabeletype "String", het toont nog steeds de decimale waarden. Dit komt doordat String van elk gegevenstype kan zijn, zodat decimale of zwevende getallen worden weergegeven zoals ze zijn.

Nu zal ik het gegevenstype wijzigen van string in geheel getal.

Code:

 Sub Double_Example1 () Dim k As Integer k = 48.14869569 MsgBox k End Sub 

Nu zal ik de code uitvoeren en kijken wat er gebeurt.

Dit is waar de CDBL-functie een vitale rol speelt bij het omzetten van het integer-gegevenstype naar verdubbeling. Dus onderstaande code is hetzelfde voor jou.

Code:

 Sub Double_Example1 () Dim IntegerNumber As String Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub 

Dit converteert de waarde van het gegevenstype van de string naar Double.

Voorbeeld # 2

Laten we nu het nummer 854.6947 converteren dat is opgeslagen als het gegevenstype Variant naar Double.

Code:

 Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber As Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub 

De eerste variabele die ik heb gedeclareerd als "Variant". Afm VaraintNumber

Opmerking: Als het type variabele niet wordt gedeclareerd, wordt het een universeel gegevenstype Variant.

Vervolgens heb ik nog een variabele gedeclareerd, namelijk Dim DoubleNumber As Double

Voor de eerste variabele VaraintNumber hebben we de waarde 854.6947 toegewezen.

Door nu de tweede variabele te gebruiken, hebben we de CDBL-functie toegepast om de Variant-waarde naar het gegevenstype Double te converteren.

DoubleNumber = CDbl (VaraintNumber)

Het laatste deel is om het resultaat in het berichtvenster te tonen. MsgBox DoubleNumber

Nu zal ik de code uitvoeren om het resultaat te zien.

Dingen om te onthouden

  • Een dubbel gegevenstype kan alleen numerieke getallen accepteren.
  • Als er een tekstwaarde wordt opgegeven, veroorzaakt dit een fout van Type Mismatch.
  • Een dubbel gegevenstype kan slechts 13 cijfers van drijvende getallen weergeven.