Что такое 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. Вы также можете просмотреть наши другие предлагаемые статьи -
- Комментарий блока VBA
- Функция SUMPRODUCT в Excel
- VBA Named Range
- Функция COMBIN в Excel