Что такое Excel VBA CDBL?

CDBL - это функция VBA, которая использует для преобразования выражений в тип данных double. VBA состоит из ряда функций преобразования данных. Это помогает изменить тип данных переменной или значения от одного к другому. В разных расчетах преобразование является необходимым процессом для получения правильного результата. CDBL - это одна из функций преобразования данных, включенная в функции преобразования типов в VBA. CDBL расшифровывается как «Преобразовать в двойной». При обработке данных вы можете столкнуться с ситуациями, когда целые числа меняются вдвое. Чтобы распечатать точный результат эта функция поможет вам. Функция VBA CDBL принимает только цифры. Любое выражение, кроме чисел, приведет к ошибке несоответствия типов.

Формат функции CDBL в Excel VBA

CDBL - это простая функция, которая требует одного выражения для работы в VBA. Выражение должно быть числом.

  • Выражение: число, которое вы хотите преобразовать в плавающее число.

Если выражение отличается от числа, функция вернет ошибку несоответствия. Смотрите пример ниже, где не-числовое выражение передается в функцию CDBL, и это приводит к несоответствию типов ошибок.

Использование функции CDBL в VBA

Давайте проверим, как функция VBA CDBL помогает нам в обработке данных. Чтобы получить четкое представление и понять практическое применение изменения типа данных, см. Пример ниже. Вы можете увидеть разницу в зависимости от типа данных, используемых в той же переменной.

  • Объявите переменную как целочисленный тип данных и присвойте ей плавающее значение. При печати значения посмотрите, как оно будет отображаться.

Код:

 Private Sub addconvert () Dim b As Integer End Sub 

  • Плавающее значение присваивается объявленной целочисленной переменной. 785.456923785475 назначается переменной b, которая является целочисленной переменной.

Код:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 End Sub 

  • Используя окно сообщения, распечатайте назначенное значение.

Код:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 MsgBox b End Sub 

Посмотрите, как результаты показывают разницу при печати значения.

Вы присвоили число с плавающими значениями, но на выходе отображается только целая часть данного числа. Здесь переменная 'b' объявлена ​​как целое число, поэтому она не будет принимать плавающее значение. Целая часть десятичного значения берется, а десятичная часть избегается. Поскольку переменная объявлена ​​как целое число, число будет округлено до ближайшего целого числа.

Чтобы распечатать данные как есть, изменив тип данных переменной на double вместо целочисленного типа данных.

  • Сделав простое изменение в том же коде, вы можете напечатать указанное число как есть. Объявите переменную как двойной тип данных.

Код:

 Private Sub addconvert () Dim b As Double End Sub 

  • Двойное число присваивается объявленной двойной переменной. 785.456923785475 назначается переменной b, которая имеет двойной тип данных.

Код:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 End Sub 

  • С помощью окна сообщения выведите назначенное значение.

Код:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 MsgBox b End Sub 

Посмотрите, как результаты показывают разницу при печати значения. Вы присвоили число с плавающими значениями.

Сравните оба выхода, чтобы увидеть разницу. Даже данные и переменные одинаковы: изменение типа данных изменило весь вывод. Отсюда вы получите важность типа данных и то, как он влияет на всю программу. Это причина для использования другого типа функций преобразования с VBA.

Примеры функции CDBL в Excel VBA

Ниже приведены различные примеры преобразования VBA в double.

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

Пример # 1: преобразовать строковый тип данных в двойной

Давайте посмотрим, как выполняется преобразование данных, и какие изменения можно внести с помощью функций преобразования данных. Строка представляет собой тип данных, который принимает все типы данных. Переменная определяется как строка и присваивает ей номер.

  • Используйте приватную функцию, чтобы проверить изменения в другом типе данных, создайте функцию, конвертирующую как приватную, объявите переменную 'a' в виде строки.

Код:

 Private Sub convert () Dim a As String End Sub 

  • Чтобы выполнить преобразование, вам нужна переменная. Поскольку переменная преобразуется в двойной тип данных, объявите его как двойной тип данных. После преобразования данных значение будет присвоено этой переменной.

Код:

 Private Sub convert () Dim a As String Dim convert As Double End Sub 

  • Присвойте число с плавающей точкой 1234.5645879 строковой переменной. Строковый тип данных будет принимать числа с плавающими значениями.

Код:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 End Sub 

  • Теперь используйте функцию VBA CDBL, чтобы преобразовать значение в удвоение. Вы можете использовать переменную 'convert', которая объявлена ​​как двойной тип данных. Передайте переменную 'a' в качестве выражения функции CDBL.

Код:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 convert = CDbl (a) End Sub 

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

Код:

 Private Sub convert () Dim a As String Dim convert As Double Double = 1234.5645879 convert = CDbl (a) MsgBox convert End Sub 

  • Запустите этот код, нажав F5 напрямую или вручную, нажав кнопку Run на левой верхней панели.

  • Значение, присвоенное переменной 'a', будет напечатано как то же самое с плавающей точкой и целочисленным значением. Значение преобразуется в тип данных double и печатается так же, как показано ниже.

Пример № 2 - Преобразование и добавление двух чисел

У вас есть две переменные, чтобы добавить и найти сумму как часть вашего расчета. Оба являются плавающими числами с десятичными значениями. Но одна переменная объявляется как целое число, а другая - как двойная.

  • Создайте функцию add, чтобы найти сумму двух чисел. Две переменные А1 и А2 объявлены как целые и двойные соответственно.

Код:

 Private Sub add () Dim A1 как целое число Dim A2 как двойное конец Sub 

  • Присвойте два числа соответствующим переменным. Оба являются двумя плавающими числами с десятичными значениями.

Код:

 Private Sub add () Dim A1 As Integer Dim A2 As Double A1 = 1256, 45 A2 = 1234, 58 End Sub 

  • Объявите третью переменную sum как тип данных double, так как результатом будет двойное значение.

Код:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim Sum As Double A1 = 1256.45 A2 = 1234.58 End Sub 

  • Добавьте данные два числа и поместите результат в переменную sum.

Код:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim Sum As Double A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 End Sub 

  • Использование окна сообщения позволяет распечатать вывод.

Код:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 MsgBox sum End Sub 

  • Запустите этот код, нажав F5 напрямую или вручную, нажав кнопку Run на левой верхней панели.

Ожидаемый результат - 2491, 03, и при проверке выходных данных вы можете увидеть разницу в результате. Несоответствие в результате произошло из-за значения, принятого переменной A1. Поскольку это целочисленная переменная, она не примет десятичную часть числа, при обработке суммы берется только целая часть.

  • Чтобы избежать этого, преобразуйте число A1 в удвоенное и присвойте преобразованный номер другой переменной A3.

Код:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) сумма = A1 + A2 MsgBox sum End Sub 

  • Теперь добавьте преобразованную переменную с A2 вместо A1. Поскольку число преобразуется в двойной тип данных, значение с плавающими числами будет принято и добавлено с помощью A2.

Код:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) сумма = A2 + A3 MsgBox sum End Sub 

  • Запустите этот код, нажав F5 напрямую или вручную, нажав кнопку Run на левой верхней панели.

Значение суммы было исправлено и дало ожидаемый результат.

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

  • Функция VBA CDBL не будет принимать значения, а не число.
  • Ошибка несоответствия типов будет возникать, если текстовое значение задано функции VBA CDBL.
  • Двойной тип данных отображает 13-значные десятичные значения.
  • Функция VBA CDBL поможет вам получить правильный результат при обработке чисел в Excel.

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

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

  1. Комментарий блока VBA
  2. Функция SUMPRODUCT в Excel
  3. VBA Named Range
  4. Функция COMBIN в Excel

Категория: