Excel VBA dubbeldatatyp

I VBA har vi olika typer av datatyper som används enligt behovet. Som helhet används datatyp för siffror, Stringdatatypen används för alfabet och text och en lång datatyp används när vi behöver använda siffror eller text utan begränsningar. På liknande sätt har vi en dubbel datatyp som används för decimaler. Även om vi kan använda Singel för decimaler, men detta behåller endast värden till 2 poäng med decimalen. Om vi ​​vill använda decimalvärden utan någon begränsning har vi en dubbel datatyp för detta.

Om vi ​​använder heltal istället för Dubbelt datatyp för decimalvärden kommer det att konvertera decimalvärdet till närmaste heltal. Och det finns också en viss gräns för att använda dubbel datatyp också. Dubbel kan rymma negativa värden från -1.79769313486231E308 till -4.94065645841247E324 och för positiva värden från 4.94065645841247E-324 till 1.79769313486232E308. Utöver detta kan värdet inte accepteras.

Hur använder man VBA-datatyp i Excel?

Nedan är de olika exemplen att använda Double Data Type i Excel VBA.

Du kan ladda ner denna VBA Double Excel Mall här - VBA Double Excel Mall

VBA Double - Exempel # 1

I det här exemplet kommer vi att se hur olika datatyper som heltal och singel ger utdata för valfritt decimalvärde och å andra sidan hur dubbelt datatyp ger utdata med samma decimalvärde. För detta följer du stegen nedan:

Steg 1: Öppna en modul från Infoga-menyfliken.

Steg 2: Skriv delproceduren för VBA Double. Vi kan välja vilket annat namn som helst för att definiera namnet på VBA Double enligt vårt val.

Koda:

 Sub VBA_Double () Slut Sub 

Steg 3: Definiera nu en variabel, låt oss säga att den är A som heltal som visas nedan.

Koda:

 Sub VBA_Double () Dim A As Integer End Sub 

Steg 4: Tilldela ett decimalvärde till den definierade variabeln. Låt oss säga att decimalvärdet är 1.23456789 som visas nedan.

Koda:

 Sub VBA_Double () Dim A som heltal A = 1.23456789 End Sub 

Steg 5: Nu behöver vi en plattform där vi kan se utgången. Här kan vi använda Msgbox eller Debug.Print-funktionen. Vi kommer att använda Msgbox som är det mest traditionella sättet att göra.

Koda:

 Sub VBA_Double () Dim A Som heltal A = 1.23456789 MsgBox A End Sub 

Steg 6: Kör det genom att klicka på knappen Spela eller genom att trycka på F5-tangenten.

Vi kommer att se utmatningsmeddelanderutan med värdet "1". Detta innebär att Heltalsdatatypen har konverterat decimalvärdet till närmaste heltal som 1.

Steg 7: Låt oss nu ändra datatypen från heltal till singel och se vilken enkeldatatyp som kommer att returnera oss.

Koda:

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

Steg 8: Kör igen koden genom att klicka på knappen Spela eller genom att trycka på F5-knappen.

Vi kommer att se, den enskilda datatypen har returnerat decimalvärdet som är 1 . 234568 medan vi matade ingångsvärdet som 1.23456789 .

Detta innebär att datatypen Enkel konverterar det matade decimalvärdet till det närmaste möjliga decimalvärdet genom konvertering av sista siffran till närmaste värde som bör vara mindre än 5.

Steg 9: Nu kommer vi att använda datatypen Double istället för Single och se vilken output vi skulle få.

Koda:

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

Steg 10: Kör igen koden genom att klicka på knappen Spela eller genom att trycka på F5-knappen.

Vi kommer att se, meddelandelådan har exakt samma värde som vi matade vilket innebär att Dubbel inte konverterade ingångsvärdet om det faller under dess gräns.

VBA Double - Exempel # 2

I det här exemplet kommer vi att använda cellreferenser. Och vi börjar arbeta på samma sätt som vi har sett i exempel 1. För detta har vi en del data i kolumn A i flersiffriga decimaler.

Följ stegen nedan:

Steg 1: Skriv delproceduren för VBA Double som visas nedan.

Koda:

 Sub VBA_Double2 () Slut Sub 

Steg 2: Först börjar vi med heltal. Så definiera en variabel som heltal som visas nedan. Detta skulle vara vår inmatningsvariabel.

Koda:

 Sub VBA_Double2 () Dim A Som heltal End Sub 

Steg 3: Därefter definierar vi igen en variabel som ett heltal. Detta är en variabel där vi lagrar utdata.

Koda:

 Sub VBA_Double2 () Dim A Som heltal Dim Deci Som heltal End Sub 

Steg 4: Öppna en For-Next-slinga som visas nedan. Det är här vi skriver villkoret för att få data från en kolumn till en annan kolumn.

Koda:

 Sub VBA_Double2 () Dim A Som heltal Dim Deci Som heltal för nästa A End Sub 

Steg 5: Välj cellintervall i variabel A. Här är våra data från cell A1 till A10.

Koda:

 Sub VBA_Double2 () Dim A Som heltal Dim Deci Som heltal för A = 1 till 10 Nästa A End Sub 

Steg 6: Välj nu de cellvärden som vi vill placera. Här finns cellvärdena i den första kolumnen.

Koda:

 Sub VBA_Double2 () Dim A Som heltal Dim Deci Som heltal för A = 1 till 10 deci = celler (A, 1). Värde Nästa A End Sub 

Steg 7: Nu kommer vi att sätta de valda värdena i kolumn 2 som är B i en definierad variabel Deci .

Koda:

 Sub VBA_Double2 () Dim A Som heltal Dim Deci Som heltal för A = 1 till 10 deci = Cells (A, 1) .Value Cells (A, 2) .Value = Deci Next A End Sub 

Steg 8: Kör koden genom att klicka på knappen Spela eller genom att trycka på F5-tangenten.

Som vi hade valt heltaldatatypen för utgångsvariabeln Deci, så konverterade den decimaltalen till heltal i heltal i kolumn B.

Steg 9: Låt oss ändra datatypen för Deci som är utgångsvariabeln från heltal till singel som visas nedan.

Koda:

 Sub VBA_Double2 () Dim A Som heltal Dim Deci Som singel för A = 1 till 10 deci = Cells (A, 1) .Value Cells (A, 2) .Value = Deci Nästa A End Sub 

Steg 10: Kör koden genom att klicka på knappen Spela eller genom att trycka på F5-knappen. Vi kommer att se, decimaltal från kolumn A har konverterats till bästa möjliga närmare decimaltal.

Steg 11: Låt oss ändra utdatatypen för variabel utgång från singel till dubbel . Och se, vad vi kommer att få i kolumn B.

Koda:

 Sub VBA_Double2 () Dim A Som heltal Dim Deci Som dubbel för A = 1 till 10 Deci = Cells (A, 1) .Value Cells (A, 2) .Value = Deci Next A End Sub 

Steg 12: Kör igen koden genom att klicka på knappen Spela eller genom att trycka på F5-knappen. Så här fungerar VBA Double .

Fördelar och nackdelar med VBA Double

  • VBA Double konverterar samma nummer till decimaltal i ett specifikt intervall.
  • Det är ganska lätt att använda.
  • Vi kan använda dubbel datatyp istället för heltal eller singel, på liknande sätt.
  • Det beaktar inte decimaltalet utöver den gräns som vi har sett i ovanstående introduktionsavsnitt.

Saker att komma ihåg

  • Gränsen för att använda VBA Double för negativa värden är från -1.79769313486231E308 till -4.94065645841247E324 och för positiva värden är från 94065645841247E-324 till 1.79769313486232E308.
  • VBA Double kan innehålla upp till 14-siffriga värden om det är under ovan angivna gräns.
  • VBA Double använder 8 byte systemminne varje typ av det som används.

Rekommenderade artiklar

Detta är en guide till Excel VBA Double. Här diskuterar vi hur du använder dubbla datatyper i Excel VBA tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA Randomize (exempel med Excel-mall)
  2. Hur byter man namn på blad i VBA?
  3. Hur använder man VBA ReDim-uttalande?
  4. VBA Variabel deklaration | Excel-mall
  5. VBA Environ

Kategori: