Подвійний тип даних Excel VBA

У VBA у нас є різні типи даних, які використовуються відповідно до потреби. Наприклад, тип даних Integer використовується для чисел, тип даних String використовується для алфавітів та тексту, а тип даних Long - використовується, коли нам потрібно використовувати цифри або текст без обмежень. Так само ми маємо подвійний тип даних, який використовується для десяткових чисел. Хоча ми можемо використовувати Single для десяткових знаків, але це збереже лише значення до 2-х знаків після коми. Якщо ми хочемо використовувати десяткові значення без будь-якого обмеження, для цього у нас є подвійний тип даних.

Якщо ми використовуватимемо Integer замість подвійного типу даних для десяткових значень, то він перетворить десяткове значення у найближче ціле число цілих чисел. Крім того, існує певний ліміт використання подвійного типу даних. Подвійний може вмістити негативні значення від -1, 79769313486231E308 до -4, 94065645841247E324, а для позитивних значень від 4, 94065645841247E-324 до 1, 79769313486232E308. Крім цього, значення не можна прийняти.

Як використовувати подвійний тип даних VBA в Excel?

Нижче наведено різні приклади використання подвійного типу даних у Excel VBA.

Ви можете завантажити цей шаблон подвійного Excel VBA тут - подвійний шаблон Excel

VBA Double - приклад №1

У цьому прикладі ми побачимо, як різні типи даних, такі як Цілі чи Одиничні, дають вихід для будь-якого десяткового значення, а з іншого боку, як подвійний тип даних дає вихід одного і того ж десяткового значення. Для цього виконайте наступні кроки:

Крок 1: Відкрийте модуль на вкладці меню Вставка.

Крок 2: Напишіть підпроцедуру для VBA Double. Ми можемо вибрати будь-яке інше ім'я для визначення імені VBA Double згідно нашого вибору.

Код:

 Sub VBA_Double () Кінець Sub 

Крок 3: Тепер визначте змінну, скажімо, що це A як ціла кількість, як показано нижче.

Код:

 Sub VBA_Double () Dim A As Integer End Sub 

Крок 4: Призначте десяткове значення визначеній змінній. Скажімо, що десяткове значення дорівнює 1, 223456789, як показано нижче.

Код:

 Sub VBA_Double () Dim A As Integer A = 1.23456789 Кінець Sub 

Крок 5: Тепер нам потрібна платформа, на якій ми можемо бачити вихід. Тут ми можемо використовувати функцію Msgbox або Debug.Print. Ми будемо використовувати Msgbox, який є найбільш традиційним способом роботи.

Код:

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

Крок 6: Запустіть його, натиснувши на кнопку Відтворити або натиснувши клавішу F5.

Ми побачимо, вихідне поле повідомлення зі значенням «1». Це означає, що тип даних Integer перетворив десяткове значення на найближче ціле число як 1.

Крок 7: Тепер давайте змінимо тип даних з Integer на Single і подивимось, який саме тип даних поверне нам.

Код:

 Sub VBA_Double () Dim A як одиночний A = 1.23456789 MsgBox A End Sub 

Крок 8: Знову запустіть код, натиснувши на кнопку Відтворити або натиснувши клавішу F5.

Ми побачимо, Єдиний тип даних повернув десяткове значення, яке дорівнює 1 . 234568, тоді як ми вводили вхідне значення як 1, 223456789 .

Це означає, що тип даних Single перетворює подане десяткове значення в найближче можливе десяткове значення за перерахуванням останнього числа в найближче значення, яке повинно бути менше 5.

Крок 9: Тепер ми будемо використовувати тип даних Double замість Single і подивимося, який вихід ми отримаємо.

Код:

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

Крок 10: Знову запустіть код, натиснувши на кнопку Відтворити або натиснувши клавішу F5.

Ми побачимо, що у вікні повідомлення є точно таке саме значення, яке ми подавали, а це означає, що Double не перетворив вхідне значення, якщо воно не входить до межі.

Двомісний VBA - приклад №2

У цьому прикладі ми будемо використовувати посилання на комірки. І ми почнемо працювати так само, як ми бачили в прикладі-1. Для цього ми маємо деякі дані у колонці А у багатозначних десяткових знаках.

Виконайте наступні кроки:

Крок 1: Запишіть підпроцедуру VBA Double, як показано нижче.

Код:

 Sub VBA_Double2 () Кінець Sub 

Крок 2: Спочатку ми почнемо з Integer. Отже, визначте змінну як Integer, як показано нижче. Це була б наша вхідна змінна.

Код:

 Sub VBA_Double2 () Dim A As Integer End Sub 

Крок 3: Після цього ми знову визначимо змінну як цілу. Це змінна, в якій ми будемо зберігати результат.

Код:

 Sub VBA_Double2 () Dim A As Integer Dim Deci As Integer End Sub 

Крок 4: Відкрийте цикл For-Next, як показано нижче. Тут ми запишемо умову для отримання даних із стовпця до іншого стовпця.

Код:

 Sub VBA_Double2 () Dim A як ціла кількість Dim Deci як ціла кількість для наступного кінця Sub 

Крок 5: Виберіть діапазон комірок в змінній А. Тут наші дані перебувають від клітини А1 до А10.

Код:

 Sub VBA_Double2 () Dim A як ціла кількість Dim Deci як ціла кількість для A = 1 до 10 наступний кінець Sub 

Крок 6: Тепер виберемо значення комірок, які ми хочемо розмістити. Тут значення комірок знаходяться в першому стовпці.

Код:

 Sub VBA_Double2 () Dim A як ціла кількість Dim Deci як ціла кількість для A = 1 до 10 деци = клітини (A, 1). Варіант Next A End Sub 

Крок 7: Тепер ми помістимо вибрані значення в стовпчик 2, який є B у визначеній змінній Deci .

Код:

 Під VBA_Double2 () Dim A як ціла кількість Dim Deci як ціла кількість для A = 1 до 10 деци = клітини (A, 1). Клітини величини (A, 2) .Value = Деці Наступний кінець Sub 

Крок 8: Запустіть код, натиснувши на кнопку Відтворити або натиснувши клавішу F5.

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

Крок 9: Давайте змінимо тип даних Deci, який є вихідною змінною з Integer на Single, як показано нижче.

Код:

 Sub VBA_Double2 () Dim A як цілий розмір Dim Deci як одинаковий для A = 1 до 10 деци = клітини (A, 1). Клітини величини (A, 2) .Value = Деці Наступний Кінець Sub 

Крок 10: Запустіть код, натиснувши на кнопку Відтворити або натиснувши клавішу F5. Ми побачимо, десяткові числа з стовпця A перетворилися на найкращі найближчі десяткові числа.

Крок 11: Давайте змінимо тип вихідних змінних типів з Single на Double . І подивіться, що ми отримаємо в колонці B.

Код:

 Sub VBA_Double2 () Dim A як цілий розмір Dim Deci як подвійний для A = 1 до 10 деци = клітини (A, 1). Клітини величини (A, 2) .Value = Деці Наступний кінець Sub 

Крок 12: Знову запустіть код, натиснувши на кнопку Відтворити або натиснувши клавішу F5. Так працює VBA Double .

Плюси і мінуси VBA Double

  • VBA Double перетворює те саме число у десяткові числа у визначеному діапазоні.
  • Він досить простий у використанні.
  • Ми можемо використовувати тип даних Double замість 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. Як використовувати заяву VDa ReDim?
  4. Декларація змінної VBA | Шаблон Excel
  5. VBA Environment

Категорія: