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

В VBA у нас есть различные типы типов данных, которые используются в соответствии с потребностями. Например, тип данных Integer используется для чисел, тип данных String используется для алфавитов и текста, а тип данных Long используется, когда нам нужно использовать числа или текст без каких-либо ограничений. Точно так же у нас есть тип данных Double, который используется для десятичных чисел. Хотя мы можем использовать Single для десятичных чисел, но при этом будут сохранены только значения до 2 точек после запятой. Если мы хотим использовать десятичные значения без каких-либо ограничений, то для этого у нас есть тип данных Double.

Если мы используем Integer вместо типа данных Double для десятичных значений, тогда он преобразует десятичное значение в ближайшие целые числа. Кроме того, есть некоторые ограничения на использование типа данных Double. Double может принимать отрицательные значения от -1, 79769313486231E308 до -4, 94065645841247E324, а для положительных значений - от 4, 94065645841247E-324 до 1, 77969693486232E308. Помимо этого, значение не может быть принято.

Как использовать двойной тип данных VBA в Excel?

Ниже приведены различные примеры использования двойного типа данных в Excel VBA.

Вы можете скачать этот шаблон VBA Double Excel здесь - Шаблон VBA Double Excel

VBA Double - Пример # 1

В этом примере мы увидим, как разные типы данных, такие как Integer и Single, дают выходные данные для любого десятичного значения, а с другой стороны, как тип данных Double дает выходные данные с одним и тем же десятичным значением. Для этого выполните следующие шаги:

Шаг 1. Откройте модуль на вкладке меню «Вставка».

Шаг 2: Напишите подпроцедуру для VBA Double. Мы можем выбрать любое другое имя для определения имени VBA Double согласно нашему выбору.

Код:

 Sub VBA_Double () End Sub 

Шаг 3: Теперь определите переменную, скажем, это будет целое число A, как показано ниже.

Код:

 Sub VBA_Double () Dim A As Integer End Sub 

Шаг 4: Назначьте десятичное значение для определенной переменной. Предположим, что десятичное значение равно 1.23456789, как показано ниже.

Код:

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

Шаг 5: Теперь нам нужна платформа, где мы можем увидеть результат. Здесь мы можем использовать функцию Msgbox или Debug.Print. Мы будем использовать Msgbox, который является наиболее традиционным способом.

Код:

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

Шаг 6: Запустите его, нажав на кнопку Play или нажав клавишу F5.

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

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

Код:

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

Шаг 8: Снова запустите код, нажав кнопку Play или нажав клавишу F5.

Мы увидим, что тип данных Single вернул десятичное значение, равное 1 . 234568, тогда как мы ввели входное значение как 1, 23456789 .

Это означает, что тип данных Single преобразует введенное десятичное значение в ближайшее возможное десятичное значение путем преобразования последней цифры в ближайшее значение, которое должно быть меньше 5.

Шаг 9: Теперь мы будем использовать тип данных Double вместо Single и посмотрим, какой вывод мы получим.

Код:

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

Шаг 10: Снова запустите код, нажав кнопку Play или нажав клавишу F5.

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

VBA Double - Пример № 2

В этом примере мы будем использовать ссылки на ячейки. И мы начнем работать так же, как мы видели в примере-1. Для этого у нас есть некоторые данные в столбце A в виде десятичных разрядов.

Выполните следующие шаги:

Шаг 1: Запишите подпроцедуру VBA Double, как показано ниже.

Код:

 Sub VBA_Double2 () End 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 As Integer Dim Deci As Integer Для следующего A End Sub 

Шаг 5: Выберите диапазон ячеек в переменной А. Здесь наши данные от ячейки А1 до А10.

Код:

 Sub VBA_Double2 () Dim A As Integer Dim Deci As Integer Для A = 1–10 Следующая A End Sub 

Шаг 6: Теперь выберите значения ячеек, которые мы хотим разместить. Здесь значения ячеек находятся в первом столбце.

Код:

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

Шаг 7: Теперь мы поместим выбранные значения в столбец 2, который является B в определенной переменной Deci .

Код:

 Sub VBA_Double2 () Dim A как целое число Dim Deci как целое число для A = 1–10 Deci = ячейки (A, 1). Значения ячеек (A, 2) .Value = Deci Следующие A End Sub 

Шаг 8: Запустите код, нажав на кнопку Play или нажав клавишу F5.

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

Шаг 9: Давайте изменим тип данных Deci, который является выходной переменной, с Integer на Single, как показано ниже.

Код:

 Sub VBA_Double2 () Dim A как целое число Dim Deci как единичное для A = 1–10 Deci = ячейки (A, 1). Значения ячеек (A, 2) .Value = Deci Следующие A End Sub 

Шаг 10: Запустите код, нажав на кнопку Play или нажав клавишу F5. Мы увидим, что десятичные числа из столбца A были преобразованы в наилучшие возможные десятичные числа.

Шаг 11: Давайте изменим тип данных выходной переменной с Single на Double . И посмотрим, что мы получим в столбце Б.

Код:

 Sub VBA_Double2 () Dim A As Integer Dim Deci удваивается для A = 1–10 Deci = Ячейки (A, 1). Значения Ячейки (A, 2). Значение = Деци Следующая A End Sub 

Шаг 12: Снова запустите код, нажав кнопку Play или нажав клавишу F5. Вот как работает VBA Double .

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

  • VBA Double преобразует одно и то же число в десятичные числа в определенном диапазоне.
  • Это довольно просто в использовании.
  • Мы можем использовать тип данных Double вместо Integer или Single аналогичным образом.
  • Он не учитывает десятичное число, превышающее предел, который мы видели в приведенном выше разделе введения.

То, что нужно запомнить

  • Предел использования VBA Double для отрицательных значений составляет от -1, 79769313486231E308 до -4, 94065645841247E324, а для положительных значений - от 94065645841247E-324 до 1, 779769313486232E308.
  • VBA Double может содержать до 14-значных значений, если он находится ниже указанного предела.
  • VBA Double использует 8 байт системной памяти для каждого используемого типа.

Рекомендуемые статьи

Это руководство по Excel VBA Double. Здесь мы обсудим, как использовать двойные типы данных в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

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

Категория: