Wat is Excel VBA CDBL?

CDBL is een VBA-functie die gebruikt om de uitdrukkingen om te zetten in een dubbel gegevenstype. VBA bestaat uit een aantal functies voor gegevensconversie. Dit helpt om het gegevenstype van een variabele of waarde van de ene naar de andere te wijzigen. In verschillende berekeningen is de conversie een noodzakelijk proces om het juiste resultaat te krijgen. CDBL is een van de gegevensconversiefuncties in de Type-conversiefuncties in VBA. CDBL staat voor 'Convert to double'. Tijdens het verwerken van gegevens kunt u situaties tegenkomen om het gehele getal te verdubbelen. Met deze functie kunt u het juiste resultaat afdrukken. De VBA CDBL-functie accepteert alleen nummers. Elke expressie behalve getallen zal een typefout veroorzaken.

Formaat van CDBL-functie in Excel VBA

CDBL is een eenvoudige functie die een enkele expressie vereist om in VBA te werken. De uitdrukking moet een getal zijn.

  • Expressie: is het nummer dat u wilt converteren naar een zwevend nummer.

Als de uitdrukking iets anders is dan een getal, retourneert de functie een niet-overeenkomende fout. Zie het onderstaande voorbeeld, waarbij een niet-nummeruitdrukking wordt doorgegeven aan de functie CDBL en deze een fouttype-mismatch opleverde.

Gebruik van CDBL-functie in VBA

Laten we eens kijken hoe de VBA CDBL-functie ons helpt bij de gegevensverwerking. Zie het onderstaande voorbeeld om een ​​duidelijk beeld te krijgen en het praktische gebruik van het wijzigen van het gegevenstype te begrijpen. U kunt het verschil zien aan de hand van het gegevenstype dat voor dezelfde variabele wordt gebruikt.

  • Declareer een variabele als een geheel gegevenstype en wijs er een zwevende waarde aan toe. Kijk tijdens het afdrukken van de waarde hoe de waarde wordt weergegeven.

Code:

 Private Sub addconvert () Dim b Als Integer End Sub 

  • Een zwevende waarde wordt toegewezen aan de gedeclareerde integer-variabele. 785.456923785475 wordt toegewezen aan variabele b, die een geheel getal is.

Code:

 Private Sub addconvert () Dim b Als Geheel getal b = 785.456923785475 End Sub 

  • Gebruik een berichtvenster om de toegewezen waarde af te drukken.

Code:

 Private Sub addconvert () Dim b Als Geheel getal b = 785.456923785475 MsgBox b End Sub 

Zie hoe de resultaten verschillen vertonen tijdens het afdrukken van de waarde.

U hebt een getal met zwevende waarden toegewezen, maar de uitvoer toont alleen het gehele deel van het gegeven getal. Hier wordt de variabele 'b' gedeclareerd als een geheel getal, zodat deze geen zwevende waarde accepteert. Het gehele deel van de decimale waarde wordt genomen en het decimale deel wordt vermeden. Omdat de variabele als een geheel getal wordt gedeclareerd, wordt het getal afgerond op het dichtstbijzijnde gehele getal.

Als u de gegevens wilt afdrukken zoals ze zijn, wijzigt u het variabele gegevenstype in dubbel in plaats van het gegevenstype geheel getal.

  • Door een eenvoudige wijziging in dezelfde code aan te brengen, kunt u het opgegeven nummer afdrukken zoals het is. Declareer de variabele als een dubbel gegevenstype.

Code:

 Private Sub addconvert () Dim b Als Double End Sub 

  • Een getal als dubbel wordt toegewezen aan de gedeclareerde dubbele variabele. 785.456923785475 wordt toegewezen aan variabele b die dubbel is in datatype.

Code:

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

  • Gebruik een berichtvenster om de toegewezen waarde af te drukken.

Code:

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

Zie hoe de resultaten verschillen vertonen tijdens het afdrukken van de waarde. U hebt een nummer met zwevende waarden toegewezen.

Vergelijk beide uitgangen om het verschil te zien. Zelfs de gegevens en variabelen zijn hetzelfde, de wijziging in het gegevenstype heeft de gehele uitvoer gewijzigd. Hieruit krijgt u het belang van datatype en hoe dit het hele programma beïnvloedt. Dit is de reden voor het gebruik van een ander type conversiefuncties met VBA.

Voorbeelden van CDBL-functie in Excel VBA

Hieronder staan ​​de verschillende voorbeelden van VBA-conversie naar verdubbeling.

U kunt deze VBA CDBL Excel-sjabloon hier downloaden - VBA CDBL Excel-sjabloon

Voorbeeld # 1: converteer het gegevenstype van de string naar het dubbele

Laten we eens kijken hoe de gegevensconversie presteert en wat de wijzigingen zijn die u kunt aanbrengen met behulp van gegevensconversiefuncties. De tekenreeks is een gegevenstype dat alle gegevenstypen accepteert. Een variabele wordt gedefinieerd als een string en kent er een nummer aan toe.

  • Gebruik een privé-functie om de wijzigingen in het verschillende gegevenstype te controleren, maak een functie om als privé om te zetten en declareer de variabele 'a' als een string.

Code:

 Private Sub convert () Dim een ​​As String End Sub 

  • Om de conversie uit te voeren, hebt u een variabele nodig. Aangezien de variabele wordt geconverteerd naar een dubbel gegevenstype, declareert u deze als een dubbel gegevenstype. Na gegevensconversie wordt de waarde toegewezen aan deze variabele.

Code:

 Private Sub convert () Dim een ​​As String Dim convert As Double End Sub 

  • Wijs een zwevend nummer 1234.5645879 toe aan de tekenreeksvariabele. Het tekenreeksdatatype accepteert de getallen met zwevende waarden.

Code:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 End Sub 

  • Gebruik nu de VBA CDBL-functie om de waarde naar dubbel te converteren. U kunt de variabele 'convert' gebruiken die wordt gedeclareerd als een dubbel gegevenstype. Geef de variabele 'a' door als een uitdrukking aan de CDBL-functie.

Code:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 convert = CDbl (a) End Sub 

  • Om de uitvoerwaarde te bekijken, kunt u afdrukken met behulp van een berichtenvak.

Code:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 convert = CDbl (a) MsgBox convert End Sub 

  • Voer deze code uit door direct op F5 te drukken of door handmatig op de knop Run in het paneel linksboven te drukken.

  • De waarde toegewezen aan variabele 'a' wordt hetzelfde afgedrukt met zwevende punten en een geheel getal. De waarde wordt omgezet in dubbel gegevenstype en hetzelfde wordt afgedrukt zoals hieronder.

Voorbeeld # 2 - Twee nummers converteren en toevoegen

U moet twee variabelen toevoegen en de som vinden als onderdeel van uw berekening. Beide zijn zwevende getallen met decimale waarden. Maar een variabele wordt verklaard als geheel getal en een andere als dubbel.

  • Maak een functie toevoegen om de som van twee getallen te vinden. Twee variabelen A1 en A2 worden respectievelijk als geheel getal en dubbel gedeclareerd.

Code:

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

  • Wijs de twee nummers toe aan de respectieve variabelen. Beide zijn twee zwevende getallen met decimale waarden.

Code:

 Private Sub add () Dim A1 als Integer Dim A2 als Double A1 = 1256.45 A2 = 1234.58 End Sub 

  • Declareer een derde variabele som als dubbel gegevenstype omdat het resultaat een dubbele waarde zal zijn.

Code:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 End Sub 

  • Voeg de gegeven twee getallen toe en plaats het resultaat in de variabele som.

Code:

 Private Sub add () Dim A1 als Integer Dim A2 als Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 End Sub 

  • Met behulp van een berichtenvenster kunt u de uitvoer afdrukken.

Code:

 Private Sub add () Dim A1 als Integer Dim A2 als Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 MsgBox sum End Sub 

  • Voer deze code uit door direct op F5 te drukken of door handmatig op de knop Run in het paneel linksboven te drukken.

Het verwachte resultaat is 2491.03 en terwijl u de uitvoer controleert, kunt u een verschil in het resultaat zien. De mismatch in het resultaat was het gevolg van de waarde van variabele A1. Omdat dit een variabele met een geheel getal is, accepteert dit niet het decimale deel van het getal, maar wordt het gehele getal genomen tijdens het verwerken van de som.

  • Om dit te voorkomen, converteert u het getal A1 naar het dubbele en wijst u het geconverteerde nummer toe aan een andere variabele A3.

Code:

 Private Sub add () Dim A1 als Integer Dim A2 als Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) sum = A1 + A2 MsgBox som End Sub 

  • Voeg nu de geconverteerde variabele toe met A2 in plaats van A1. Omdat het nummer wordt geconverteerd naar het dubbele gegevenstype, wordt de waarde met zwevende nummers geaccepteerd en toegevoegd met A2.

Code:

 Private Sub add () Dim A1 als Integer Dim A2 als Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) sum = A2 + A3 MsgBox som End Sub 

  • Voer deze code uit door direct op F5 te drukken of door handmatig op de knop Run in het paneel linksboven te drukken.

De somwaarde is gecorrigeerd en heeft het verwachte resultaat opgeleverd.

Dingen om te onthouden

  • De VBA CDBL-functie accepteert geen waarden in plaats van een nummer.
  • Een typefout komt niet overeen als een tekstwaarde wordt gegeven aan de VBA CDBL-functie.
  • Dubbel gegevenstype geeft 13-cijferige decimale waarden weer.
  • De VBA CDBL-functie helpt u een goed resultaat te krijgen tijdens het verwerken van de nummers in Excel.

Aanbevolen artikelen

Dit is een handleiding voor de VBA CDBL-functie. Hier bespreken we hoe u de VBA CDBL-functie kunt gebruiken om de waarde naar het dubbele gegevenstype in Excel te converteren, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA-blokcommentaar
  2. SAMENVATTING Functie in Excel
  3. VBA Benoemd bereik
  4. COMBIN-functie in Excel

Categorie: