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 TemplateVBA 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 -
- VBA Randomize (príklady so šablónou programu Excel)
- Ako premenovať hárok vo VBA?
- Ako používať vyhlásenie VBA ReDim?
- Vyhlásenie o premennej VBA Šablóna Excel
- VBA Environ