Excel VBA dobbel datatype

I VBA har vi forskjellige typer datatyper som brukes etter behovet. Som helhet, datatype brukes for tall, String-datatypen brukes for alfabeter og tekst, og en lang datatype brukes når vi trenger å bruke tall eller tekst uten noen begrensning. Tilsvarende har vi en dobbel datatype som brukes for desimaltall. Vi kan riktignok bruke Single for desimaler, men dette vil bare beholde verdiene til 2 desimaler. Hvis vi ønsker å bruke desimalverdier uten noen begrensning, har vi en dobbel datatype for dette.

Hvis vi bruker Heltall i stedet for Dobbelt datatype for desimalverdier, vil det konvertere desimalverdien til nærmeste heltalstall. Og det er også en viss grense for å bruke dobbel datatype. Dobbelt kan romme negative verdier fra -1.79769313486231E308 til -4.94065645841247E324 og for positive verdier fra 4.94065645841247E-324 til 1.79769313486232E308. Utover dette kan ikke verdien aksepteres.

Hvordan bruke VBA dobbel datatype i Excel?

Nedenfor er de forskjellige eksemplene for bruk av dobbel datatype i Excel VBA.

Du kan laste ned denne VBA Double Excel Mal her - VBA Double Excel Mal

VBA Double - Eksempel nr. 1

I dette eksemplet vil vi se hvordan forskjellige datatyper som heltal og enkelt gir utdata for en desimalverdi og på den annen side hvordan dobbel datatype gir utdataene med samme desimalverdi. Følg trinnene nedenfor for å gjøre dette:

Trinn 1: Åpne en modul fra Sett inn menyfanen.

Trinn 2: Skriv delprosessen for VBA Double. Vi kan velge hvilket som helst annet navn for å definere navnet på VBA Double i henhold til vårt valg.

Kode:

 Sub VBA_Double () Slutt Sub 

Trinn 3: Definer nå en variabel, la oss si at den er A som heltall som vist nedenfor.

Kode:

 Sub VBA_Double () Dim A As Integer End Sub 

Trinn 4: Tilordne en desimalverdi til den definerte variabelen. La oss si at desimalverdien er 1.23456789 som vist nedenfor.

Kode:

 Sub VBA_Double () Dim A As Heiltall A = 1.23456789 Slutt Sub 

Trinn 5: Nå trenger vi en plattform der vi kan se output. Her kan vi bruke Msgbox eller Debug.Print-funksjonen. Vi vil bruke Msgbox som er den mest tradisjonelle måten å gjøre det på.

Kode:

 Sub VBA_Double () Dim A As Heiltall A = 1.23456789 MsgBox A End Sub 

Trinn 6: Kjør den ved å klikke på Spill-knappen eller ved å trykke på F5-tasten.

Vi vil se utdatameldingsboksen med verdien "1". Dette betyr at heltalldatatypen har konvertert desimalverdien til nærmeste hele tall som 1.

Trinn 7: La oss nå endre datatypen fra heltall til singel og se hvilken enkeltdatatype som vil returnere oss.

Kode:

 Sub VBA_Double () Dim A As Single A = 1.23456789 MsgBox A End Sub 

Trinn 8: Kjør igjen koden ved å klikke på Spill-knappen eller ved å trykke på F5-tasten.

Vi vil se, den enkle datatypen har returnert desimalverdien som er 1 . 234568 mens vi matet inngangsverdien som 1.23456789 .

Dette betyr at datatypen Enkelt konverterer den matte desimalverdien til nærmeste mulige desimalverdi etter siste siffernummerkonvertering til nærmeste verdi som skal være mindre enn 5.

Trinn 9: Nå vil vi bruke datatypen Double i stedet for Single og se hvilken utdata vi ville fått.

Kode:

 Sub VBA_Double () Dim A As Double A = 1.23456789 MsgBox A End Sub 

Trinn 10: Kjør igjen koden ved å klikke på Spill-knappen eller ved å trykke på F5-tasten.

Vi vil se, meldingsboksen har nøyaktig den samme verdien som vi matet, noe som betyr at Double ikke konverterte inngangsverdien hvis den faller under grensen.

VBA Double - Eksempel # 2

I dette eksemplet vil vi bruke cellehenvisninger. Og vi vil begynne å jobbe på samme måte som vi har sett i eksempel-1. For dette har vi noen data i kolonne A i flersifrede desimaler.

Følg trinnene nedenfor:

Trinn 1: Skriv delprosessen til VBA Double som vist nedenfor.

Kode:

 Sub VBA_Double2 () Slutt Sub 

Trinn 2: Først vil vi starte med Integer. Så definer en variabel som heltall som vist nedenfor. Dette ville være vår inngangsvariabel.

Kode:

 Sub VBA_Double2 () Dim A As Integer End Sub 

Trinn 3: Etter det vil vi igjen definere en variabel som et heltall. Dette er en variabel hvor vi lagrer output.

Kode:

 Sub VBA_Double2 () Dim A As Integer Dim Deci Som Integer End Sub 

Trinn 4: Åpne en For-Neste-sløyfe som vist nedenfor. Det er her vi vil skrive betingelsen for å få dataene fra en kolonne til en annen kolonne.

Kode:

 Sub VBA_Double2 () Dim A Som heltall Dim Deci Som heltall for neste en slutt Sub 

Trinn 5: Velg området for celler i variabel A. Her er dataene våre fra celle A1 til A10.

Kode:

 Sub VBA_Double2 () Dim A Som heltall Dim Deci Som heltall for A = 1 til 10 Neste A End Sub 

Trinn 6: Velg nå celleverdiene som vi vil plassere. Her er celleverdiene i den første kolonnen.

Kode:

 Sub VBA_Double2 () Dim A Som heltall Dim Deci Som heltall for A = 1 til 10 desi = celler (A, 1) .Vertifikat Neste A End Sub 

Trinn 7: Nå vil vi sette de valgte verdiene i kolonne 2 som er B i definert variabel Deci .

Kode:

 Sub VBA_Double2 () Dim A Som heltall Dim Deci Som heltall for A = 1 til 10 desi = Cells (A, 1) .Value Cells (A, 2) .Value = Deci Next A End Sub 

Trinn 8: Kjør koden ved å klikke på Spill-knappen eller ved å trykke på F5-tasten.

Som vi hadde valgt Heltall-datatypen for utdatavariabelen Deci, så konverterte den desimaltallene til Heltall-heltall i kolonne B.

Trinn 9: La oss endre datatypen til Deci som er utgangsvariabelen fra heltall til singel som vist nedenfor.

Kode:

 Sub VBA_Double2 () Dim A Som heltall Dim Deci Som singel for A = 1 til 10 desi = Cells (A, 1) .Value Cells (A, 2) .Value = Deci Next A End Sub 

Trinn 10: Kjør koden ved å klikke på Spill-knappen eller ved å trykke på F5-tasten. Vi vil se, desimaltall fra kolonne A ble konvertert til best mulig nærmere desimaltall.

Trinn 11: La oss endre datatypen for utdatavariabel fra Single til Double . Og se, hva vi får i kolonne B.

Kode:

 Sub VBA_Double2 () Dim A Som heltall Dim Deci Som dobbelt for A = 1 til 10 desi = Cells (A, 1) .Value Cells (A, 2) .Value = Deci Next A End Sub 

Trinn 12: Kjør koden igjen ved å klikke på Spill-knappen eller ved å trykke på F5-tasten. Slik fungerer VBA Double .

Fordeler og ulemper med VBA Double

  • VBA Double konverterer det samme tallet til desimaltall i et bestemt område.
  • Den er ganske enkel å bruke.
  • Vi kan bruke dobbel datatype i stedet for Heltall eller Enkelt, på en lignende måte.
  • Den vurderer ikke desimaltallet utover grensen som vi har sett i innledningsdelen ovenfor.

Ting å huske

  • Grensen for å bruke VBA Double for negative verdier er fra -1.79769313486231E308 til -4.94065645841247E324 og for positive verdier er fra 94065645841247E-324 til 1.79769313486232E308.
  • VBA Double kan inneholde opptil 14-sifrede verdier hvis den er under ovennevnte grense.
  • VBA Double bruker 8 byte systemminne hver type den brukes.

Anbefalte artikler

Dette er en guide til Excel VBA Double. Her diskuterer vi hvordan du bruker doble datatyper i Excel VBA sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA Randomize (eksempler med Excel-mal)
  2. Hvordan endre navn på arket i VBA?
  3. Hvordan bruke VBA ReDim-uttalelse?
  4. VBA Variabel erklæring | Excel-mal
  5. VBA-miljø

Kategori: