Hvad er Excel VBA CDBL?

CDBL er en VBA-funktion, der bruger til at konvertere udtryk til en dobbelt datatype. VBA består af et antal datakonverteringsfunktioner. Dette hjælper med at ændre datatypen for en variabel eller værdi fra en til en anden. I forskellige beregninger er konverteringen en nødvendig proces for at få det rigtige resultat. CDBL er en af ​​datakonverteringsfunktionerne inkluderet i Typekonverteringsfunktionerne i VBA. CDBL står for 'Konverter til dobbelt'. Når du behandler data, kan du støde på situationer for at ændre heltalnumrene til det dobbelte. For at udskrive det nøjagtige resultat hjælper denne funktion dig. VBA CDBL-funktion accepterer kun tal. Ethvert udtryk bortset fra tal vil producere en typefejlpasningsfejl.

Format af CDBL-funktion i Excel VBA

CDBL er en simpel funktion, der kræver et enkelt udtryk for at fungere i VBA. Udtrykket skal være et tal.

  • Udtryk: Er det nummer, du vil konvertere til et flydende nummer.

Hvis udtrykket er noget bortset fra et tal, returnerer funktionen en fejlparringsfejl. Se nedenstående eksempel, hvor et ikke-taludtryk overføres til funktionen CDBL, og det frembragte en fejltypefejlpasning.

Brug af CDBL-funktion i VBA

Lad os kontrollere, hvordan VBA CDBL-funktionen hjælper os med databehandling. For at få et klart overblik og forstå den praktiske brug af at ændre datatypen, se nedenstående eksempel. Du kan se forskellen i henhold til den datatype, der bruges på den samme variabel.

  • Angiv en variabel som heltaldatatype, og tildel en flydende værdi til den. Mens du udskriver værdien, se, hvordan det vil vise værdien.

Kode:

 Privat sub addconvert () Dim b Som heltal slut sub 

  • En flydende værdi tildeles den erklærede heltalvariabel. 785.456923785475 er tildelt variabel b, som er en heltalvariabel.

Kode:

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

  • Udskriv den tildelte værdi ved hjælp af en meddelelsesboks.

Kode:

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

Se, hvordan resultaterne viser forskel, mens du udskriver værdien.

Du har tildelt et nummer med flydende værdier, men output viser kun heltaldelen af ​​det givne nummer. Her erklæres variablen 'b' som heltal, så den accepterer ikke en flydende værdi. Den heltalede del af decimalværdien tages, og decimaldelene undgås. Da variablen er erklæret som et heltal, afrundes antallet til det nærmeste heltal.

For at udskrive dataene som de er, skal du ændre den variable datatype til dobbelt i stedet for heltalets datatype.

  • Ved at foretage en simpel ændring af den samme kode kan du udskrive det givne nummer, som det er. Angiv variablen som en dobbelt datatype.

Kode:

 Privat sub addconvert () Dim b Som dobbelt slut Sub 

  • Et nummer som dobbelt tildeles til den deklarerede dobbeltvariabel. 785.456923785475 er tildelt variabel b, der er dobbelt i datatype.

Kode:

 Privat sub addconvert () Dim b As Double b = 785.456923785475 End Sub 

  • Brug en meddelelsesboks til at udskrive den tildelte værdi.

Kode:

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

Se, hvordan resultaterne viser forskel, mens du udskriver værdien. Du har tildelt et nummer med flydende værdier.

Sammenlign begge output, du kan se forskellen. Selv dataene og variablen er den samme, ændringen i datatype ændrede hele output. Fra dette får du vigtigheden af ​​datatype og hvordan den påvirker hele programmet. Dette er grunden til at bruge en anden type konverteringsfunktioner med VBA.

Eksempler på CDBL-funktion i Excel VBA

Nedenfor er de forskellige eksempler på VBA-konvertering til dobbelt.

Du kan downloade denne VBA CDBL Excel-skabelon her - VBA CDBL Excel-skabelon

Eksempel 1: Konverter strengdatatype til dobbelt

Lad os se, hvordan datakonverteringen fungerer, og hvad er de ændringer, du kan foretage ved hjælp af datakonverteringsfunktioner. Strengen er en datatype, der accepterer alle datatyper. En variabel er defineret som en streng og tildeler et nummer til den.

  • Brug en privat funktion til at kontrollere ændringerne i forskellige datatype, oprette en funktionskonvertering som privat, erklære variablen 'a' som en streng.

Kode:

 Privat sub-konvertering () Dim a As String End Sub 

  • For at udføre konverteringen har du brug for en variabel. Da variablen konverteres til dobbelt datatype erklærer den som en dobbelt datatype. Efter datakonvertering tildeles værdien til denne variabel.

Kode:

 Privat subkonvertering () Dim en som streng Dim konverter som dobbelt ende Sub 

  • Tildel et flydende nummer 1234.5645879 til strengvariablen. Strengedatatypen accepterer numrene med flydende værdier.

Kode:

 Privat subkonvertering () Dim en som streng Dim konverter som dobbelt a = 1234.5645879 Slut sub 

  • Brug nu VBA CDBL-funktionen til at konvertere værdien til dobbelt. Du kan bruge variablen 'konvertere', der er erklæret som en dobbelt datatype. Overfør variablen 'a' som et udtryk til CDBL-funktion.

Kode:

 Privat sub-konvertering () Dim en som streng Dim konverter som dobbelt a = 1234.5645879 konverter = CDbl (a) Slut Sub 

  • For at se outputværdien kan du udskrive ved hjælp af en meddelelsesboks.

Kode:

 Privat subkonvertering () Dim en som streng Dim konvertere som dobbelt a = 1234.5645879 konvertere = CDbl (a) MsgBox konvertere Ende Sub 

  • Kør denne kode ved at slå F5 direkte eller manuelt slå Run knappen i øverste venstre panel.

  • Den værdi, der er tildelt variablen 'a', udskrives som den samme med flydende punkter og en heltalværdi. Værdien konverteres til dobbelt datatype, og den samme udskrives som nedenfor.

Eksempel 2 - Konvertering og tilføjelse af to numre

Du har to variabler til at tilføje og finde summen som en del af din beregning. Begge er flydende tal med decimalværdier. Men en variabel erklæres som heltal og en anden som dobbelt.

  • Opret en funktion tilføjelse for at finde summen af ​​to tal. To variabler A1 og A2 deklareres henholdsvis som heltal og dobbelt.

Kode:

 Privat sub tilføj () Dim A1 Som heltal Dim A2 Som dobbelt slut Sub 

  • Tildel de to numre til de respektive variabler. Begge er to flydende tal med decimalværdier.

Kode:

 Privat under tilføjelse () Dim A1 Som heltal Dim A2 Som dobbelt A1 = 1256.45 A2 = 1234.58 End Sub 

  • Angiv en tredje variabel sum som dobbelt datatype, da resultatet vil være en dobbeltværdi.

Kode:

 Privat under tilføjelse () Dim A1 Som heltal Dim A2 Som dobbelt Dim sum Som Dobbelt A1 = 1256.45 A2 = 1234.58 End Sub 

  • Tilføj de givne to tal, og sæt resultatet i den variable sum.

Kode:

 Privat sub tilføj () Dim A1 Som heltal Dim A2 Som dobbelt Dim sum Som Dobbelt A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 End Sub 

  • Ved hjælp af en meddelelsesboks kan du udskrive output.

Kode:

 Privat sub tilføj () Dim A1 Som heltal Dim A2 Som dobbelt Dim sum Som Dobbelt A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 MsgBox sum End Sub 

  • Kør denne kode ved at slå F5 direkte eller manuelt slå Run knappen i øverste venstre panel.

Det forventede resultat er 2491.03, og mens du kontrollerer output, kan du se en forskel i resultatet. Uoverensstemmelsen i resultatet forekom på grund af den værdi, der blev taget af variablen A1. Da dette er en heltalvariabel, accepterer den ikke den decimaldel af tallet, kun heltaledelen tages under behandlingen af ​​summen.

  • For at undgå dette skal du konvertere tallet A1 til dobbelt og tildele det konverterede nummer til en anden variabel A3.

Kode:

 Privat sub tilføj () Dim A1 Som heltal Dim A2 Som dobbelt Dim sum Som Dobbelt A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) sum = A1 + A2 MsgBox sum End Sub 

  • Tilføj nu den konverterede variabel med A2 i stedet for A1. Da tallet konverteres til dobbelt datatype, accepteres værdien med flydende numre og tilføjes med A2.

Kode:

 Privat sub tilføj () Dim A1 Som heltal Dim A2 Som dobbelt Dim sum Som Dobbelt A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) sum = A2 + A3 MsgBox sum End Sub 

  • Kør denne kode ved at slå F5 direkte eller manuelt slå Run knappen i øverste venstre panel.

Summen er blevet korrigeret og frembragt det forventede resultat.

Ting at huske

  • VBA CDBL-funktion accepterer ikke værdier snarere end et tal.
  • En type fejlparringsfejl produceres, hvis der gives en tekstværdi til VBA CDBL-funktionen.
  • Dobbelt datatype viser en 13-cifret decimalværdi.
  • VBA CDBL-funktion hjælper dig med at få et korrekt resultat, mens du behandler numrene i Excel.

Anbefalede artikler

Dette er en guide til VBA CDBL-funktion. Her diskuterer vi, hvordan man bruger VBA CDBL-funktion til at konvertere værdien til dobbelt datatype i Excel sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA-blokkommentar
  2. SUMPRODUCT-funktion i Excel
  3. VBA navngivet rækkevidde
  4. COMBIN-funktion i Excel

Kategori: