Двоен тип данни на Excel VBA

Във VBA имаме различни типове данни, които се използват според нуждите. Подобно, тип данни от цялото число се използва за числата, типът String данни се използва за азбуки и текст, а тип данни Long се използва, когато трябва да използваме числа или текст без ограничение. По подобен начин имаме двоен тип данни, който се използва за десетични числа. Въпреки че можем да използваме Single за десетични знаци, но това ще запази само стойности до 2 точки от десетичната запетая. Ако искаме да използваме десетични стойности без ограничение, тогава имаме двоен тип данни за това.

Ако използваме Integer вместо двоен тип данни за десетични стойности, той ще преобразува десетичната стойност в най-близки цели числа. И също така, има някои ограничения за използване на Double data type също. Double може да побере отрицателни стойности от -1.79769313486231E308 до -4.94065645841247E324, а за положителните стойности от 4.94065645841247E-324 до 1.79769313486232E308. Отвъд това стойността не може да бъде приета.

Как да използвате VBA двоен тип данни в Excel?

По-долу са различните примери за използване на Double Data Type в Excel VBA.

Можете да изтеглите този VBA Double Excel шаблон тук - Двоен шаблон на VBA Excel

VBA Double - пример №1

В този пример ще видим как различните типове данни като Integers и Single дават изхода за всяка десетична стойност, а от друга страна как Double data type дава изхода на една и съща десетична стойност. За това следвайте стъпките по-долу:

Стъпка 1: Отворете модул от раздела Меню Вмъкване.

Стъпка 2: Напишете подпроцедурата за VBA Double. Можем да изберем всяко друго име за определяне на името на VBA Double според нашия избор.

Код:

 Sub VBA_Double () Край Sub 

Стъпка 3: Сега дефинирайте променлива, да речем, че е A като цяло число, както е показано по-долу.

Код:

 Sub VBA_Double () Dim A As Integer End Sub 

Стъпка 4: Задайте десетична стойност на дефинираната променлива. Да кажем, че десетичната стойност е 1.23456789, както е показано по-долу.

Код:

 Sub VBA_Double () Dim A като цяло число A = 1.23456789 Край Sub 

Стъпка 5: Сега се нуждаем от платформа, на която можем да видим изхода. Тук можем да използваме Msgbox или Debug.Print функция. Ще използваме Msgbox, който е най-традиционният начин за правене.

Код:

 Под VBA_Double () Dim A като цяло число A = 1.23456789 MsgBox A End Sub 

Стъпка 6: Стартирайте го, като кликнете върху бутона Възпроизвеждане или натискане на клавиша F5.

Ще видим, полето за изходно съобщение със стойност „1“. Това означава, че типът данни на Integer е преобразувал десетичната стойност в най-близкото цяло число като 1.

Стъпка 7: Сега нека променим типа данни от Integer в Single и да видим какъв тип Single data ще ни върне.

Код:

 Sub VBA_Double () Dim A като единичен A = 1.23456789 MsgBox A End Sub 

Стъпка 8: Отново стартирайте кода, като кликнете върху бутона Play или натиснете клавиша F5.

Ще видим, Единичният тип данни върна десетичната стойност, която е 1 . 234568, докато въвеждахме входната стойност като 1.23456789 .

Това означава, че типът данни Single преобразува подадената десетична стойност в най-близката възможна десетична стойност чрез преобразуване на последната цифра в най-близката стойност, която трябва да бъде по-малка от 5.

Стъпка 9: Сега ще използваме тип данни Double вместо мястото Single и ще видим какъв изход ще получим.

Код:

 Sub VBA_Double () Dim A като двойно A = 1.23456789 MsgBox A End Sub 

Стъпка 10: Отново стартирайте кода, като кликнете върху бутона Play или натиснете клавиша F5.

Ще видим, че полето със съобщение има точно същата стойност, която подадохме, което означава, че Double не преобразува входната стойност, ако падне под нейния лимит.

VBA Double - пример №2

В този пример ще използваме препратки към клетки. И ние ще започнем да работим по същия начин, както видяхме в пример-1. За това имаме някои данни в колона А в многоцифрени десетични знаци.

Изпълнете следните стъпки:

Стъпка 1: Напишете подпроцедурата на VBA Double, както е показано по-долу.

Код:

 Sub VBA_Double2 () Край Sub 

Стъпка 2: Първо ще започнем с Integer. Така че дефинирайте променлива като цяло число, както е показано по-долу Това ще бъде нашата входна променлива.

Код:

 Sub VBA_Double2 () Dim A As Integer End Sub 

Стъпка 3: След това отново ще дефинираме променлива като цяло число. Това е променлива, в която ще съхраняваме изхода.

Код:

 Sub VBA_Double2 () Dim A като Integer Dim Deci като Integer End Sub 

Стъпка 4: Отворете контура For-Next, както е показано по-долу. Тук ще напишем условието да получим данните от колона в друга колона.

Код:

 Sub VBA_Double2 () Dim A като цяло число Dim Deci като цяло число за следващ край 

Стъпка 5: Изберете обхвата на клетките в променлива А. Тук нашите данни са от клетка А1 до А10.

Код:

 Sub VBA_Double2 () Dim A като цяло число Dim Deci като цяло число за A = 1 до 10 Next A End Sub 

Стъпка 6: Сега изберете стойностите на клетките, които искаме да поставим. Тук стойностите на клетките са в първата колона.

Код:

 Под VBA_Double2 () Dim A като цяло число Dim Deci като цяло число за A = 1 до 10 деци = клетки (A, 1) .Value Next A End Sub 

Стъпка 7: Сега ще поставим избраните стойности в колона 2, която е B в дефинирана променлива Deci .

Код:

 Под VBA_Double2 () Dim A като цяло число Dim Deci като цяло число за A = 1 до 10 деци = клетки (A, 1) .Value клетки (A, 2) .Value = Deci Next A End Sub 

Стъпка 8: Стартирайте кода, като кликнете върху бутона Play или натиснете клавиша F5.

Както бяхме избрали типа данни на Integer за изходна променлива Deci, така че той преобразува десетичните числа в цели числа в Integer в колона B.

Стъпка 9: Нека променим типа данни на Deci, който е изходна променлива от Integer в Single, както е показано по-долу.

Код:

 Под VBA_Double2 () Dim A като цяло число Dim deci като единично за A = 1 до 10 деци = клетки (A, 1) .Value клетки (A, 2) .Value = Deci Next A End Sub 

Стъпка 10: Стартирайте кода, като кликнете върху бутона Възпроизвеждане или чрез натискане на клавиша F5. Ще видим, десетичните числа от колона A се преобразуват в най-добрите възможни по-близки десетични числа.

Стъпка 11: Нека променим типа изходни променливи данни от Single към Double . И вижте, какво ще получим в колона Б.

Код:

 Под VBA_Double2 () Dim A като цяло число Dim Deci като двойно за A = 1 до 10 деци = клетки (A, 1) .Value клетки (A, 2) .Value = Deci Next A End Sub 

Стъпка 12: Отново стартирайте кода, като кликнете върху бутона Възпроизвеждане или чрез натискане на клавиша F5. Ето как работи VBA Double .

Плюсове и минуси на VBA Double

  • VBA Double конвертира едно и също число в десетични числа в определен диапазон.
  • Той е доста лесен за използване.
  • Можем да използваме Double type тип данни вместо Integer или Single, по подобен начин.
  • Той не взема предвид десетичното число извън границата, която видяхме в горния раздел за въвеждане.

Неща, които трябва да запомните

  • Ограничението за използване на VBA Double за отрицателни стойности е от -1.79769313486231E308 до -4.94065645841247E324, а за положителните стойности е от 94065645841247E-324 до 1.79769313486232E308.
  • VBA Double може да побере до 14 цифри стойности, ако е под горепосочения лимит.
  • VBA Double използва 8 байта системна памет всеки тип, който се използва.

Препоръчителни статии

Това е ръководство за Excel VBA Double. Тук обсъждаме как да използвате двойни типове данни в Excel VBA, заедно с практически примери и шаблон за Excel, който можете да изтеглите. Можете да разгледате и другите ни предложени статии -

  1. VBA Randomize (Примери с шаблон на Excel)
  2. Как да преименувате лист във VBA?
  3. Как да използвате VBA ReDim изявление?
  4. VBA променлива декларация | Шаблон на Excel
  5. VBA Environment

Категория: