VBA CDEC - Hvordan bruges CDEC-funktion i VBA? (Eksempler)

Indholdsfortegnelse

CDEC-funktion i VBA

CDEC er en indbygget datatypekonverteringsfunktion tilgængelig som VBA-funktion. VBA CDEC-funktion konverterer en datatype fra enhver anden datatype til en decimaldatatype. Det står for "Konverter til decimal".

Når vi arbejder med data, og vi beder brugerne om at indtaste værdierne, kan der være et stort antal formater, hvor en bruger kan give os værdier, såsom brugeren kan give en decimalværdi og en ikke-decimalværdi, CDEC-funktion i VBA hjælper os med at konvertere enhver værdi til en decimalværdi, og det er en indbygget funktion i Excel.

Nedenfor er syntaksen for CDEC-funktionen.

Udtryk: Dette er intet andet end den værdi, som vi prøver at konvertere til decimaldatatypen. Dette kan enten være en direkte numerisk værdi eller en variabel, der indeholder den numeriske værdi.

  • Før vi ser, hvordan vi konverterer værdien til decimaldatatyper, lad mig orientere dig om decimaldatatypen i detaljer.
  • Almindelige numeriske datatyper, som vi bruger, er "Lang, heltal og dobbelt." Der er ingen speciel datatype som “Decimal” tilgængelig til at indeholde lange decimalværdier. Lange & heltal datatyper konverterer tallet til hele tallet, selvom decimalværdien er tildelt dem.
  • Så for at gemme decimalværdier til variablerne er vi nødt til at erklære variablen som en "Variant" -datatype. Derefter kan vi konvertere til decimaldatatypen ved hjælp af VBA CDEC-funktionen.
  • For at gemme decimalværdier op til 14 cifre kan vi bruge datatypen "Dobbelt", men ved hjælp af VBA CDEC-konverteringsfunktionen kan vi gemme 28 decimaler.
  • Når det kommer til hukommelsesbesættelse, vil CDEC forbruge 14 byte af systemhukommelsen, og da vi erklærer den variable datatype som "Variant" på forhånd, vil værdien altid være nul.

Eksempler på brug af VBA CDEC-funktion

Vi vil se et par eksempler i nedenstående afsnit af artiklen.

Se for eksempel på nedenstående VBA-kode.

Kode:

Sub CDEC_Example () Dim k As Integer k = 2.5698979797646 MsgBox k End Sub

I ovenstående har vi deklareret VBA-variablen som “Integer”, når vi kører koden, og vi får værdien i meddelelsesboksen i VBA som nedenfor.

Når vi har tildelt værdien af 2.5698979797646 resultater er 3, skyldes det, at datatypen, vi har tildelt variablen, er "Heltal", så den konverterer tallet til nærmeste heltal.

Bemærk: Hvis decimalværdien er> 0,5, afrundes den op til næste heltal, og hvis decimalværdien er <0,51, afrundes den til under heltalets værdi.
  • Ok, lad mig nu tildele CDEC-funktionen til at konvertere datatypeværdien til decimal.
  • Som du kan se ovenfor, har jeg tildelt værdien til variablen “k” ved hjælp af VBA CDEC-konverteringsfunktionen.
  • Udfør koden og se hvad vi får.
  • Selv nu fik vi resultatet som tre på grund af det øjeblik Heltals datatype blev tildelt, og det afrunder altid tallet til næste heltal.

Så for at tildele datatypen "Decimal" først, skal vi tildele datatypen som "Variant" og derefter konvertere til Decimal ved hjælp af CDEC-funktionen.

Kode:

Sub CDEC_Example () Dim k As Variant k = CDec (2.5698979797646) MsgBox k End Sub

Udfør nu koden og se hvad vi får.

En yderligere specialitet af denne decimaldatatype er, at vi kan gemme mere end 14 cifrede decimalværdier i modsætning til dobbeltdatatypen, som kun kan rumme 14 decimaler.

Nu vil jeg indtaste mere end 14 cifre til variablen i dobbelt anførselstegn.

Kode:

Sub CDEC_Example () Dim k As Variant k = CDec ("2.56989797976466769416958") MsgBox k End Sub
Bemærk: Indtast nummeret med dobbelt anførselstegn, fordi uden dobbelt anførselstegn efter de 14 cifre vil det blive afrundet. For at indtaste tal i dobbelt anførselstegn.

Kør nu koden og se hvad vi får.

Vi har alle decimaltal, som vi har indtastet i dobbelt-citaterne.

Ting at huske

  • CDEC står for "Konverter til decimal".
  • Den accepterer kun datatypen "Variant".
  • Der er ingen "Decimal" datatype, men ved hjælp af CDEC-funktionen kan vi nemt konvertere til decimaldatatype.
  • Specialitet er, at den kan rumme "28" cifre decimaler.

Interessante artikler...