Dvojitý typ údajov Excel VBA

Vo VBA máme rôzne typy dátových typov, ktoré sa používajú podľa potreby. Podobne sa pre čísla používa typ údajov Integer, typ údajov String sa používa pre abecedy a text a typ údajov Long sa používa, keď potrebujeme používať čísla alebo text bez obmedzenia. Podobne máme dvojitý typ údajov, ktorý sa používa pre desatinné čísla. Aj keď môžeme použiť Single pre desatinné miesta, ale toto si zachová iba hodnoty s presnosťou na 2 desatinné miesta. Ak chceme používať desatinné hodnoty bez obmedzenia, máme na to dvojitý typ údajov.

Ak použijeme pre desatinné hodnoty namiesto dvojitého typu údajov celé číslo, prevedie desatinnú hodnotu na najbližšie celé číslo. Existuje tiež určité obmedzenie používania typu údajov Double. Zdvojnásobiť sa môže prispôsobiť záporným hodnotám od -1, 79769313486231E308 do -4, 94065645841247E324 a pre kladné hodnoty od 4, 94065645841247E-324 do 1, 79769313486232E308. Okrem toho nie je možné túto hodnotu akceptovať.

Ako používať VBA Double Data Type v Exceli?

Nižšie sú uvedené rôzne príklady použitia typu dvojitých údajov v programe Excel VBA.

Túto šablónu VBA Double Excel si môžete stiahnuť tu - VBA Double Excel Template

VBA Double - Príklad č. 1

V tomto príklade uvidíme, ako rôzne dátové typy, ako sú celé čísla a jednoduché, dávajú výstup pre akúkoľvek desatinnú hodnotu a na druhej strane, ako typ dvojitých údajov poskytuje výstup s rovnakou desatinnou hodnotou. Postupujte podľa nasledujúcich krokov:

Krok 1: Otvorte modul na karte ponuky Vložiť.

Krok 2: Napíšte podprogram pre VBA Double. Môžeme si zvoliť akékoľvek iné meno pre definovanie názvu VBA Double podľa nášho výberu.

kód:

 Sub VBA_Double () End Sub 

Krok 3: Teraz definujte premennú, povedzme, že to bude A ako celé číslo, ako je uvedené nižšie.

kód:

 Sub VBA_Double () Dim A ako celé číslo Sub Sub 

Krok 4: K definovanej premennej priraďte desatinnú hodnotu. Povedzme, že desatinná hodnota je 1, 23456789, ako je uvedené nižšie.

kód:

 Sub VBA_Double () Dim A ako celé číslo A = 1, 23456789 End Sub 

Krok 5: Teraz potrebujeme platformu, kde uvidíme výstup. Tu môžeme použiť funkciu Msgbox alebo Debug.Print. Použijeme Msgbox, ktorý je najtradičnejším spôsobom.

kód:

 Sub VBA_Double () Dim A ako celé číslo A = 1, 23456789 MsgBox A End Sub 

Krok 6: Spustite ho kliknutím na tlačidlo Prehrať alebo stlačením klávesu F5.

Uvidíme výstupné hlásenie s hodnotou „1“. To znamená, že typ údajov Integer skonvertoval desatinnú hodnotu na najbližšie celé číslo ako 1.

Krok 7: Teraz zmeňme typ údajov z Integer na Single a uvidíme, aký typ Single Data nás vráti.

kód:

 Sub VBA_Double () Dim A ako jeden A = 1, 23456789 MsgBox A End Sub 

Krok 8: Opäť spustite kód kliknutím na tlačidlo Prehrať alebo stlačením klávesu F5.

Uvidíme, že typ údajov Single vrátil desatinnú hodnotu, ktorá je 1 . 234568, zatiaľ čo vstupnú hodnotu sme kŕmili ako 1, 23456789 .

To znamená, že typ údajov Single prevádza privádzanú desatinnú hodnotu na najbližšiu možnú desatinnú hodnotu podľa prevodu posledného čísla na najbližšiu hodnotu, ktorá by mala byť menšia ako 5.

Krok 9: Teraz použijeme dátový typ Double namiesto Single a uvidíme, aký výstup by sme dostali.

kód:

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

Krok 10: Opäť spustite kód kliknutím na tlačidlo Prehrať alebo stlačením klávesu F5.

Uvidíme, okno správ má presne tú istú hodnotu, ktorú sme kŕmili, čo znamená, že Double neprevedie vstupnú hodnotu, ak klesne pod jej limit.

VBA Double - Príklad č. 2

V tomto príklade použijeme bunkové referencie. A začneme pracovať rovnakým spôsobom, ako sme videli v príklade 1. Z tohto dôvodu máme niektoré údaje v stĺpci A vo viacciferných desatinných miest.

Postupujte podľa nasledujúcich krokov:

Krok 1: Napíšte podprogram VBA Double, ako je to znázornené nižšie.

kód:

 Sub VBA_Double2 () End Sub 

Krok 2: Najprv začneme s Integer. Takže definujte premennú ako celé číslo, ako je uvedené nižšie. Toto by bola naša vstupná premenná.

kód:

 Sub VBA_Double2 () Dim A ako celé číslo Sub Sub 

Krok 3: Potom znova definujeme premennú ako celé číslo. Toto je premenná, v ktorej uložíme výstup.

kód:

 Sub VBA_Double2 () Dim A ako celé číslo Dim Deci ako celé číslo na konci Sub 

Krok 4: Otvorte slučku For-Next, ako je to znázornené nižšie. Tu napíšeme podmienku na získanie údajov zo stĺpca do iného stĺpca.

kód:

 Sub VBA_Double2 () Dim A ako celé číslo Dim Deci ako celé číslo pre ďalší koniec End 

Krok 5: Vyberte rozsah buniek v premennej A. Tu sú naše údaje z bunky A1 do A10.

kód:

 Sub VBA_Double2 () Dim A ako celé číslo Dim Deci ako celé číslo pre A = 1 až 10 ďalšie A End Sub 

Krok 6: Teraz vyberte hodnoty buniek, ktoré chceme umiestniť. Tu sú hodnoty buniek v prvom stĺpci.

kód:

 Sub VBA_Double2 () Dim A ako celé číslo Dim Deci ako celé číslo pre A = 1 až 10 Deci = buniek (A, 1) .Value Next A End Sub 

Krok 7: Teraz vložíme vybrané hodnoty do stĺpca 2, ktorý je B v definovanej premennej Deci .

kód:

 Sub VBA_Double2 () Dim A ako celé číslo Dim Deci ako celé číslo pre A = 1 až 10 Deci = buniek (A, 1) .Hodnota buniek (A, 2) .Hodnota = Deci Ďalší koniec End Sub 

Krok 8: Spustite kód kliknutím na tlačidlo Prehrať alebo stlačením klávesu F5.

Ako sme vybrali typ údajov Integer pre výstupnú premennú Deci, tak prevádzal desatinné čísla na celé čísla v Integer v stĺpci B.

Krok 9: Zmeňte dátový typ Deci, ktorý je výstupnou premennou z Integer na Single, ako je uvedené nižšie.

kód:

 Sub VBA_Double2 () Dim A ako celé Dim Dim ako samostatné pre A = 1 až 10 Deci = Bunky (A, 1). Hodnotové bunky (A, 2). Hodnota = Deci Ďalej Koncová Sub 

Krok 10: Spustite kód kliknutím na tlačidlo Prehrať alebo stlačením klávesu F5. Uvidíme, desatinné čísla zo stĺpca A sa skonvertovali na najlepšie možné desatinné čísla.

Krok 11: Zmeňte typ údajov výstupnej premennej z jednoduchého na dvojitý . A uvidíme, čo získame v stĺpci B.

kód:

 Sub VBA_Double2 () Dim A ako celé Dim Dim ako dvojnásobné pre A = 1 až 10 Deci = Bunky (A, 1). Hodnotové bunky (A, 2). Hodnoty = Deci Nasledujúce Koncové Sub 

Krok 12: Opäť spustite kód kliknutím na tlačidlo Prehrať alebo stlačením klávesu F5. Takto funguje VBA Double .

Výhody a nevýhody VBA Double

  • VBA Double prevádza rovnaké číslo na desatinné čísla v konkrétnom rozsahu.
  • Je pomerne jednoduché použitie.
  • Podobným spôsobom môžeme použiť dvojitý dátový typ namiesto Integer alebo Single.
  • Nepovažuje desatinné číslo za limit, ktorý sme videli v predchádzajúcej úvodnej časti.

Čo je potrebné pamätať

  • Limit použitia VBA Double pre záporné hodnoty je od -1, 79769313486231E308 do -4, 94065645841247E324 a pre kladné hodnoty od 94065645841247E-324 do 1, 79769313486232E308.
  • VBA Double dokáže uchovať až 14 číslic, ak je pod uvedeným limitom.
  • VBA Double používa 8 bajtov systémovej pamäte každého typu, ktorý sa používa.

Odporúčané články

Toto je sprievodca programom Excel VBA Double. Tu diskutujeme o tom, ako používať dvojité dátové typy v Excel VBA spolu s praktickými príkladmi a stiahnuteľnou vynikajúcou šablónou. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. VBA Randomize (príklady so šablónou programu Excel)
  2. Ako premenovať hárok vo VBA?
  3. Ako používať vyhlásenie VBA ReDim?
  4. Vyhlásenie o premennej VBA Šablóna Excel
  5. VBA Environ

Kategórie: