Excel tip dublu de date VBA

În VBA, avem diferite tipuri de tipuri de date care sunt utilizate conform nevoilor. Cum ar fi, tipul de date Integer este utilizat pentru numere, tipul de date String este folosit pentru alfabeturi și text și un tip Long de date este folosit atunci când trebuie să folosim numere sau text fără nicio limită. În mod similar, avem un tip de date Double care este folosit pentru numere zecimale. Cu toate că, putem utiliza Single pentru zecimale, dar aceasta va păstra doar valori la 2 puncte din zecimală. Dacă dorim să utilizăm valori zecimale fără nicio limită, avem un tip de date Double pentru aceasta.

Dacă folosim Integer în loc de Tip dublu de date pentru valori zecimale, atunci acesta va converti valoarea zecimală în numere întregi de cel mai apropiat număr întreg. De asemenea, există o anumită limită de utilizare a tipului de date duble. Dubla poate găzdui valori negative de la -1.79769313486231E308 la -4.94065645841247E324 și pentru valori pozitive de la 4.94065645841247E-324 la 1.79769313486232E308. Dincolo de aceasta, valoarea nu poate fi acceptată.

Cum se utilizează tipul de date dublu VBA în Excel?

Mai jos sunt diferite exemple pentru a utiliza tipul de date duble în Excel VBA.

Puteți descărca acest șablon VBA Double Excel aici - Șablonul VBA Double Excel

VBA Double - Exemplul # 1

În acest exemplu vom vedea, cum diferitele tipuri de date, cum ar fi Integers și Single, dau ieșirea pentru orice valoare zecimală, iar pe de altă parte, cum tipul Double data oferă ieșirea cu aceeași valoare zecimală. Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Deschideți un modul din fila Meniu Insert.

Pasul 2: Scrieți subprocedura pentru VBA Double. Putem alege orice alt nume pentru definirea numelui VBA Double conform alegerii noastre.

Cod:

 Sub VBA_Double () End Sub 

Pasul 3: Acum definiți o variabilă, să spunem că este A la fel de integer, așa cum se arată mai jos.

Cod:

 Sub VBA_Double () Dim A Ca număr final final 

Pasul 4: Alocați o valoare zecimală variabilei definite. Să zicem că valoarea zecimală este 1.23456789 după cum se arată mai jos.

Cod:

 Sub VBA_Double () Dim A Ca număr întreg A = 1.23456789 Sub 

Pasul 5: Acum avem nevoie de o platformă în care să vedem ieșirea. Aici, putem folosi funcția Msgbox sau Debug.Print. Vom folosi Msgbox care este cel mai tradițional mod de a face.

Cod:

 Sub VBA_Double () Dim A Ca număr întreg A = 1.23456789 MsgBox A Sub End 

Pasul 6: Rulați-l făcând clic pe butonul Redare sau apăsând tasta F5.

Vom vedea, caseta de mesaj de ieșire cu valoarea „1”. Aceasta înseamnă că tipul de date întregi a convertit valoarea zecimală la cel mai apropiat număr întreg ca 1.

Pasul 7: Acum să schimbăm tipul de date de la Integer la Single și să vedem ce tip de date Single ne va returna.

Cod:

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

Pasul 8: rulați din nou codul făcând clic pe butonul Redare sau prin apăsarea tastei F5.

Vom vedea, tipul de date unice a returnat valoarea zecimală care este 1 . 234568 în timp ce am introdus valoarea de intrare ca fiind 1.23456789 .

Aceasta înseamnă că tipul de date Single transformă valoarea zecimală alimentată în cea mai apropiată valoare zecimală posibilă prin conversia numerelor de ultimă cifră la cea mai apropiată valoare, care ar trebui să fie mai mică de 5.

Pasul 9: Acum vom folosi tipul de date Double în locul Single și vom vedea ce ieșire am primi.

Cod:

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

Pasul 10: executați din nou codul făcând clic pe butonul Redare sau prin apăsarea tastei F5.

Vom vedea, căsuța de mesaje are exact aceeași valoare pe care am alimentat-o, ceea ce înseamnă că Double nu a convertit valoarea de intrare dacă se încadrează în limita ei.

VBA Double - Exemplul # 2

În acest exemplu, vom folosi referințe de celule. Și vom începe să lucrăm în același mod așa cum am văzut în exemplul 1. Pentru aceasta, avem câteva date din coloana A în mai multe cifre zecimale.

Urmați pașii de mai jos:

Pasul 1: Scrieți subprocedura VBA Double așa cum se arată mai jos.

Cod:

 Sub VBA_Double2 () End Sub 

Pasul 2: În primul rând, vom începe cu Integer. Așadar, definiți o variabilă ca Integer așa cum se arată mai jos. Aceasta ar fi variabila noastră de intrare.

Cod:

 Sub VBA_Double2 () Dim A Ca număr final final 

Pasul 3: După aceea, vom defini din nou o variabilă ca un număr întreg. Aceasta este o variabilă în care vom stoca ieșirea.

Cod:

 Sub VBA_Double2 () Dim A Ca număr întreg Dim Deci ca număr final Sub 

Pasul 4: Deschideți o buclă For-Next așa cum se arată mai jos. Aici vom scrie condiția pentru a obține datele dintr-o coloană în altă coloană.

Cod:

 Sub VBA_Double2 () Dim A Ca număr întreg Dim Deci ca întreg pentru următorul A End 

Pasul 5: Selectați gama de celule din variabila A. Aici, datele noastre sunt de la celula A1 la A10.

Cod:

 Sub VBA_Double2 () Dim A Ca număr întreg Dim Deci ca număr întreg pentru A = 1 la 10 Următorul A Sub 

Pasul 6: Acum selectăm valorile celulelor pe care dorim să le plasăm. Aici valorile celulelor se află în prima coloană.

Cod:

 Sub VBA_Double2 () Dim A Ca număr întreg Dim Deci ca număr întreg pentru A = 1 până la 10 Deci = celule (A, 1). Valorul următor A End Sub 

Pasul 7: Acum vom pune valorile selectate în coloana 2 care este B în variabila definită Deci .

Cod:

 Sub VBA_Double2 () Dim A Ca număr întreg Dim Deci ca număr întreg pentru A = 1 până la 10 Deci = celule (A, 1). Celule valorice (A, 2) .Value = Deci Următorul A Final Sub 

Pasul 8: Rulați codul făcând clic pe butonul Redare sau prin apăsarea tastei F5.

Așa cum am selectat tipul de date întregi pentru variabila de ieșire Deci, astfel încât a convertit numerele zecimale în numere întregi întregi din coloana B.

Pasul 9: Să schimbăm tipul de date Deci, care este variabila de ieșire de la Integer la Single, așa cum se arată mai jos.

Cod:

 Sub VBA_Double2 () Dim A Ca număr întreg Dim Deci ca unic pentru A = 1 până la 10 Deci = celule (A, 1). Valori celule (A, 2) .Value = Deci Următorul A End Sub 

Pasul 10: Rulați codul făcând clic pe butonul Redare sau prin apăsarea tastei F5. Vom vedea, numere zecimale din coloana A s-au transformat în numere zecimale cât mai apropiate posibile.

Pasul 11: Să schimbăm tipul de date de variabilă de ieșire de la Single la Double . Și vezi, ce vom primi în Coloana B.

Cod:

 Sub VBA_Double2 () Dim A Ca număr întreg Dim Deci ca dublu pentru A = 1 până la 10 Deci = celule (A, 1). Valori celule (A, 2) .Value = Deci Următorul A Final Sub 

Pasul 12: Rulați din nou codul făcând clic pe butonul Redare sau prin apăsarea tastei F5. Așa funcționează VBA Double .

Pro și contra VBA Double

  • VBA Double convertește același număr în numere zecimale într-un anumit interval.
  • Este destul de ușor de utilizat.
  • Putem folosi tipul de date duble în loc de Integer sau Single, într-un mod similar.
  • Nu ia în considerare numărul zecimal peste limita pe care am văzut-o în secțiunea de introducere de mai sus.

Lucruri de amintit

  • Limita utilizării VBA Double pentru valorile negative este de la -1.79769313486231E308 la -4.94065645841247E324, iar pentru valorile pozitive este de la 94065645841247E-324 la 1.79769313486232E308.
  • VBA Double poate păstra valori de până la 14 cifre dacă este sub limita menționată mai sus.
  • VBA Double folosește 8 octeți de memorie de sistem fiecare tip pe care este utilizat.

Articole recomandate

Acesta este un ghid pentru Excel VBA Double. Aici vom discuta despre modul de utilizare a tipurilor de date duble în Excel VBA împreună cu exemple practice și șablon excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Randomize VBA (exemple cu șablon Excel)
  2. Cum să redenumiți foaia în VBA?
  3. Cum se folosește declarația VBA ReDim?
  4. Declarație variabilă VBA | Șablon Excel
  5. VBA Environ

Categorie: