VBA CDEC - Hur använder jag CDEC-funktionen i VBA? (Exempel)

Innehållsförteckning

CDEC-funktion i VBA

CDEC är en inbyggd datatypskonverteringsfunktion tillgänglig som VBA-funktion. VBA CDEC-funktion omvandlar en datatyp från vilken annan datatyp som helst till en decimaltyp. Det står för "Convert to Decimal".

När vi arbetar med en data och vi ber användarna att mata in värdena kan det finnas ett stort antal format där en användare kan förse oss med värden, till exempel att användaren kan ge ett decimalvärde och ett icke-decimalt värde, CDEC-funktion i VBA hjälper oss att konvertera valfritt värde till ett decimalvärde, och det är en inbyggd funktion i Excel.

Nedan är syntaxen för CDEC-funktionen.

Uttryck: Detta är inget annat än värdet som vi försöker konvertera till decimaltypen. Detta kan antingen vara ett direkt numeriskt värde eller en variabel som innehåller det numeriska värdet.

  • Innan vi ser hur man konverterar värdet till decimaldatatyper, låt mig informera dig om decimaldatatypen i detalj.
  • Vanliga numeriska datatyper som vi använder är "Long, Integer och Double." Det finns ingen speciell datatyp som ”Decimal” tillgänglig för att hålla långa decimalvärden. Långa & heltal datatyper konverterar numret till hela talet trots att decimalvärdet tilldelas dem.
  • Så för att lagra decimalvärden till variablerna måste vi deklarera variabeln som en "Variant" -datatyp. Sedan kan vi använda VBA CDEC-funktionen för att konvertera till decimaldatatyp.
  • För att lagra decimalvärden upp till 14 siffror kan vi använda datatypen "Dubbel", men genom att använda VBA CDEC-omvandlingsfunktionen kan vi lagra 28 decimaler.
  • När det gäller minnesupptagning kommer CDEC att förbruka 14 byte av systemminnet, och eftersom vi deklarerar den variabla datatypen som "Variant" i förväg kommer värdet alltid att vara noll.

Exempel på användning av VBA CDEC-funktion

Vi kommer att se några exempel i avsnittet nedan i artikeln.

Titta till exempel på nedanstående VBA-kod.

Koda:

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

I det ovanstående har vi deklarerat VBA-variabeln som ”Integer” när vi kör koden, och vi får värdet i meddelandefältet i VBA enligt nedan.

När vi har tilldelat värdet av 2,5698979797646- resultaten är 3, beror det på att datatypen vi har tilldelat variabeln är "Heltal", så det kommer att konvertera numret till närmaste heltalsvärde.

Obs! Om decimalvärdet är> 0,5, kommer det att rundas upp till nästa heltal, och om decimalvärdet är <0,51, kommer det att rundas ner till under helvärdet.
  • OK, låt mig nu tilldela CDEC-funktionen för att konvertera datatypens värde till decimal.
  • Som du kan se ovan har jag tilldelat värdet till variabeln “k” med hjälp av VBA CDEC-omvandlingsfunktionen.
  • Utför koden och se vad vi får.
  • Redan nu fick vi resultatet som tre på grund av det ögonblick Integer-datatyp tilldelades, och det avrundar alltid numret till nästa heltal.

För att tilldela datatypen "Decimal" först måste vi tilldela datatypen som "Variant" och sedan konvertera till Decimal med hjälp av CDEC-funktionen.

Koda:

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

Kör nu koden och se vad vi får.

En ytterligare specialitet av denna decimaldatatyp är att vi kan lagra mer än 14 siffriga decimalvärden, till skillnad från den dubbla datatypen, som bara kan innehålla 14 decimaler.

Nu kommer jag att ange mer än 14 siffror till variabeln i dubbla citat.

Koda:

Sub CDEC_Example () Dim k As Variant k = CDec ("2.56989797976466769416958") MsgBox k End Sub
Obs! Ange numret med dubbla citattecken, för utan dubbla citat efter de 14 siffrorna kommer det att avrundas. För att ange siffror i dubbla citat.

Kör nu koden och se vad vi får.

Vi har alla decimaltal som vi har angett inuti dubbelcitationstecken.

Saker att komma ihåg

  • CDEC står för "Convert to Decimal."
  • Den accepterar endast datatypen "Variant".
  • Det finns ingen datatyp "Decimal", men med hjälp av CDEC-funktionen kan vi enkelt konvertera till decimaldatatyp.
  • Specialitet är att det kan innehålla decimaler med 28 siffror.

Intressanta artiklar...