Excel VBA dobbelt datatype
VBA Double er en slags datatype, vi tildeler til at erklære variabler, som er en forbedret eller længere version af "Single" datatypevariablen og bruges normalt til at gemme længere decimaler.
VBA Integer-datatype konverterer altid decimalværdier til nærmeste heltal. Den enkelte datatype kan vise op til to cifre med decimaler. På den anden side kan "dobbelt" datatype gemme værdier fra -1,79769313486231E308 til -4,94065645841247E324 til negative værdier og for positive tal kan den gemme værdier fra 4,94065645841247E-324 til 1,79769313486232E308 .
Mere vigtigt er, at det bruger 8 byte hukommelse.

Eksempler på brug af VBA dobbelt datatype
Eksempel nr. 1
Før vi ser eksemplet på "Dobbelt" datatypen, lad os se på eksemplerne på "Heltal" og "Enkelt" datatype i VBA. Se på nedenstående VBA-kode.
Kode:
Sub Integer_Ex () Dim k As Integer k = 2.569999947164 MsgBox k End Sub

Jeg har erklæret variablen “k” som heltal, og for denne variabel har jeg tildelt værdien 2,569999947164.
Lad os køre denne kode manuelt eller ved hjælp af excel genvejstast F5 for at se den endelige værdi i meddelelsesboksen i VBA.

Resultatet vises som 3 i stedet for det medfølgende nummer på 2.569999947164. Årsagen til at VBA har konverteret tallet til nærmeste heltal, dvs. 3.
Når decimalværdien er mere end 0,5, konverteres den til næste heltal, og når decimalværdien er mindre end 0,51, konverteres den til under heltal.
Nu vil jeg ændre datatypen fra Heltal til Enkelt.
Kode:
Sub Integer_Ex () Dim k Som Single k = 2.569999947164 MsgBox k End Sub

Kør koden gennem genvejstasten F5, og se hvilket nummer vi får denne gang.

Denne gang fik vi resultatet som 2,57, så denne gang fik vi to decimaler. Den oprindelige værdi, vi har tildelt, var 2.569999947164, så i dette tilfælde, tredje, er den placerede decimalværdi 9, så da dette er mere end 5, har det konverteret andenpladsens decimalværdi 6 til 7.
Skift nu datatypen fra Single til Double.
Kode:
Sub Integer_Ex () Dim k As Double k = 2.569999947164 MsgBox k End Sub

Kør nu koden manuelt og se, hvor mange cifre vi får i resultatet af meddelelsesboksen.

Denne gang fik alle decimalværdier. Vi kan levere op til 14 cifre med decimaler under dobbelt datatype.
Antag, at du angiver en værdi, der er større end 14 decimalpositioner, konverteres til den nærmeste værdi. Se for eksempel på nedenstående billede.

Jeg har skrevet 15 decimaler i stedet for 14. Hvis jeg trykker på enter-tasten, vender den kun tilbage til 14 cifre.

I stedet for 59 (sidste to cifre) fik vi 6 ie, da det sidste ciffer er 9, hvilket er større end 5 foregående nummer 5 konverteres til det næste heltal, dvs. 6
Eksempel 2
Nu vil jeg vise, hvordan man arbejder med cellereference i et regneark. Nedenfor er de numre, jeg har indtastet i regnearket.

Lad os begynde at opfange de samme værdier til næste ved hjælp af INTEGER- datatype, ENKEL datatype og DOBBEL type.
Nedenfor er koden til at bevare værdier fra kolonne A til B ved hjælp af INTEGER-datatypen.
Kode:
Sub Double_Ex () Dim k som heltal Dim CellValue Som Integer For k = 1 til 6 CellValue = celler (k, 1). Værdiceller (k, 2). Value = CellValue Næste k End Sub

Lad os køre koden gennem genvejstasten F5 for at se, hvilke værdier vi får i kolonne B.

Når vi har brugt Integer som datatype, fik vi alle hele tal, dvs. uden decimaler.
Nu vil jeg bare ændre VBA-datatypen for en variabel fra heltal til Single.
Kode:
Sub Double_Ex () Dim k Som heltal Dim CellValue Som Single For k = 1 til 6 CellValue = Cells (k, 1). Value Cells (k, 2). Value = CellValue Next k End Sub

Denne kode giver nedenstående resultat.

Denne gang fik vi kun to decimaler.
Ændrer nu datatypen fra enkelt til dobbelt.
Kode:
Sub Double_Ex () Dim k som heltal Dim CellValue Som Double For k = 1 til 6 CellValue = Cells (k, 1). Value Cells (k, 2). Value = CellValue Next k End Sub

Dette vil returnere nedenstående resultat.

Vi har fået nøjagtige værdier fra kolonne A.
Ting at huske
- Dobbelt er en forbedret datatype af enkelt datatype.
- Det kan rumme op til 14 decimaler.
- Det bruger 8 byte systemhukommelse.