Vad är Excel VBA CDBL?

CDBL är en VBA-funktion som använder för att konvertera uttryck till en dubbel datatyp. VBA består av ett antal datakonverteringsfunktioner. Detta hjälper till att ändra datatypen för en variabel eller värde från en till en annan. I olika beräkningar är konverteringen en nödvändig process för att få rätt resultat. CDBL är en av datakonverteringsfunktionerna som ingår i typkonverteringsfunktionerna i VBA. CDBL står för 'Convert to double'. När du bearbetar data kan du stöta på situationer för att ändra heltalet till dubbla. För att skriva ut det exakta resultatet kommer denna funktion att hjälpa dig. VBA CDBL-funktion accepterar bara siffror. Varje uttryck bortsett från siffror kommer att producera ett fel i typmatchning.

Format för CDBL-funktion i Excel VBA

CDBL är en enkel funktion som kräver ett enda uttryck för att fungera i VBA. Uttrycket ska vara ett nummer.

  • Uttryck: Är numret du vill konvertera till ett flytande nummer.

Om uttrycket är något bortsett från ett tal kommer funktionen att returnera ett felpassningsfel. Se exemplet nedan, där ett uttryck som inte är ett nummer överförs till funktionen CDBL och det gav ett felsteg av feltyp.

Användning av CDBL-funktion i VBA

Låt oss kolla hur VBA CDBL-funktionen hjälper oss vid databehandling. För att få en tydlig bild och förstå den praktiska användningen av att ändra datatypen se exemplet nedan. Du kan se skillnaden beroende på den datatyp som används på samma variabel.

  • Förklara en variabel som heltaldatatyp och tilldela ett flytande värde till den. När du skriver ut värdet se hur det kommer att visa värdet.

Koda:

 Private Sub addconvert () Dim b Som heltal Sub Sub 

  • Ett flytande värde tilldelas den deklarerade heltalvariabeln. 785.456923785475 tilldelas variabel b som är en heltalvariabel.

Koda:

 Private Sub addconvert () Dim b Som heltal b = 785.456923785475 End Sub 

  • Skriv ut det tilldelade värdet med en meddelanderuta.

Koda:

 Privat sub addconvert () Dim b Som heltal b = 785.456923785475 MsgBox b End Sub 

Se hur resultaten visar skillnad när du skriver ut värdet.

Du har tilldelat ett nummer med flytande värden men utgången visar bara heltalets del av det givna numret. Här förklaras variabeln "b" som heltal så att den inte accepterar ett flytande värde. Heltalsdelen av decimalvärdet tas och decimaldelen undviks. Eftersom variabeln deklareras som ett heltal kommer numret att avrundas till närmaste heltal.

För att skriva ut data som de är, ändrar du variabel datatyp till dubbel istället för heltaldatatypen.

  • Genom att göra en enkel ändring av samma kod kan du skriva ut det givna numret som det är. Förklara variabeln som en dubbel datatyp.

Koda:

 Private Sub addconvert () Dim b As Double End Sub 

  • Ett nummer som dubbelt tilldelas den deklarerade dubbla variabeln. 785.456923785475 tilldelas variabel b som är dubbel i datatyp.

Koda:

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

  • Skriv ut det tilldelade värdet med en meddelanderuta.

Koda:

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

Se hur resultaten visar skillnad när du skriver ut värdet. Du har tilldelat ett nummer med flytande värden.

Jämför båda utgångarna så kan du se skillnaden. Även data och variabel är desamma, förändringen i datatyp ändrade hela utdata. Från detta får du vikten av datatyp och hur det påverkar hela programmet. Detta är anledningen till att du använder en annan typ av konverteringsfunktioner med VBA.

Exempel på CDBL-funktion i Excel VBA

Nedan följer de olika exemplen på VBA-konvertering till dubbel.

Du kan ladda ner denna VBA CDBL Excel-mall här - VBA CDBL Excel-mall

Exempel 1: Konvertera strängdatatyp till dubbel

Låt oss se hur datakonverteringen fungerar och vilka förändringar du kan göra med hjälp av datakonverteringsfunktioner. Strängen är en datatyp som accepterar alla datatyper. En variabel definieras som en sträng och tilldelar ett nummer till den.

  • Använd en privat funktion för att kontrollera förändringarna i olika datatyper, skapa en funktionskonvertering som privat och förklara variabeln 'a' som en sträng.

Koda:

 Privat subkonvertera () Dim a As String End Sub 

  • För att utföra konverteringen behöver du en variabel. Eftersom variabeln konverterar till dubbel datatyp förklarar den som en dubbel datatyp. Efter datakonvertering tilldelas värdet till denna variabel.

Koda:

 Private Sub convert () Dim a As String Dim convert som Double End Sub 

  • Tilldela ett flytande nummer 1234.5645879 till strängvariabeln. Strängdatatypen accepterar siffrorna med flytande värden.

Koda:

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

  • Använd nu VBA CDBL-funktionen för att konvertera värdet till dubbel. Du kan använda variabeln "konvertera" som deklareras som en dubbel datatyp. Skicka variabeln 'a' som ett uttryck till CDBL-funktion.

Koda:

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

  • För att se utdatavärdet kan du skriva ut med en meddelanderuta.

Koda:

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

  • Kör den här koden genom att slå F5 direkt eller manuellt slå på Knappen på den övre vänstra panelen.

  • Värdet tilldelat variabeln 'a' kommer att skrivas ut samma med flytande punkter och ett heltal. Värdet konverteras till dubbel datatyp och samma skrivs ut som nedan.

Exempel 2 - Konvertera och lägga till två nummer

Du har två variabler för att lägga till och hitta summan som en del av din beräkning. Båda är flytande siffror med decimalvärden. Men en variabel förklaras som heltal och en annan som dubbel.

  • Skapa en funktion lägg till för att hitta summan av två siffror. Två variabler A1 och A2 deklareras som heltal respektive dubbel.

Koda:

 Private Sub add () Dim A1 Som heltal Dim A2 Som Double End Sub 

  • Tilldela de två siffrorna till respektive variabler. Båda är två flytande siffror med decimalvärden.

Koda:

 Private Sub add () Dim A1 Som heltal Dim A2 Som Dubbel A1 = 1256.45 A2 = 1234.58 End Sub 

  • Förklara en tredje variabel summa som dubbel datatyp eftersom resultatet blir ett dubbelvärde.

Koda:

 Privat subtillsats () Dim A1 Som heltal Dim A2 Som Dubbel Dim sum Som Dubbel A1 = 1256.45 A2 = 1234.58 Slut Sub 

  • Lägg till de givna två siffrorna och lägg resultatet i den variabla summan.

Koda:

 Private Sub add () Dim A1 Som heltal Dim A2 Som Dubbel Dim sum Som Dubbel A1 = 1256.45 A2 = 1234.58 summa = A1 + A2 End Sub 

  • Med hjälp av en meddelanderuta kan du skriva ut utskriften.

Koda:

 Privat subtillsats () Dim A1 Som heltal Dim A2 Som Dubbel Dim sum Som Dubbel A1 = 1256.45 A2 = 1234.58 summa = A1 + A2 MsgBox summa Slut Sub 

  • Kör den här koden genom att slå F5 direkt eller manuellt slå på Knappen på den övre vänstra panelen.

Det förväntade resultatet är 2491.03 och när du kontrollerar utdata kan du se en viss skillnad i resultatet. Felaktig matchning i resultat inträffade på grund av värdet taget av variabel A1. Eftersom detta är en heltalvariabel accepterar detta inte decimaldelen av antalet, endast heltalets del tas under bearbetningen av summan.

  • För att undvika detta, konvertera siffran A1 till dubbel och tilldela det konverterade numret till en annan variabel A3.

Koda:

 Privat subtillsats () Dim A1 Som heltal Dim A2 Som Dubbel Dim sum Som Dubbel A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) summa = A1 + A2 MsgBox summa Slut Sub 

  • Lägg nu till den konverterade variabeln med A2 istället för A1. Eftersom numret konverteras till dubbel datatyp kommer värdet med flytande nummer att accepteras och läggas till med A2.

Koda:

 Privat subtillsats () Dim A1 Som heltal Dim A2 Som Dubbel Dim sum Som Dubbel A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) summa = A2 + A3 MsgBox summa Slut Sub 

  • Kör den här koden genom att slå F5 direkt eller manuellt slå på Knappen på den övre vänstra panelen.

Summan har korrigerats och producerat det förväntade resultatet.

Saker att komma ihåg

  • VBA CDBL-funktionen accepterar inte värden snarare än ett nummer.
  • Ett typfelstegsfel produceras om ett textvärde ges till VBA CDBL-funktionen.
  • Dubbel datatyp visar 13-siffriga decimalvärden.
  • VBA CDBL-funktion hjälper dig att få ett korrekt resultat när du bearbetar siffrorna i Excel.

Rekommenderade artiklar

Detta är en guide till VBA CDBL-funktion. Här diskuterar vi hur man använder VBA CDBL-funktionen för att konvertera värdet till dubbel datatyp i Excel tillsammans med några praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA Block Kommentar
  2. SUMPRODUCT-funktion i Excel
  3. VBA Named Range
  4. COMBIN-funktion i Excel

Kategori: