Карта сайта

Rambler's Top100
Яндекс цитирования
Друзья сайта

Функции преобразования значений

Справочник VBA Функции и операторы Преобразования типов данных

Каждая из представленных ниже функций преобразует выражение к определенному типу данных.

Синтаксис

CBool (выражение) — Возвращает тип Boolean

CByte (выражение) — Возвращает тип Byte 

CCur (выражение) — Возвращает тип Currency

CDate (выражение) — Возвращает тип Date

CDbl (выражение) — Возвращает тип Double

CDec (выражение) — Возвращает тип Decimal

CInt (выражение) — Возвращает тип Integer

CLng (выражение) — Возвращает тип Long

CSng (выражение) — Возвращает тип Single

CStr (выражение) — Возвращает тип String (если входное выражение типа Boolean то возвращается строка, содержащая True или False; если типа Date — строка, содержащая дату в коротком формате даты Вашей системы; если Null – выводится ошибка времени выполнеия программы; если Empty – пустая строка (“»); если Error — строка, содержащая слово Error , сопровождаемая номером ошибки; если другое числовое значение  — строка, содержащая число)

CVar (выражение) — Возвращает тип Variant (Если входное выражение числовое значение то результат типа Double , иначе String.)

выражение — любое строковое выражение или числовое значение.

 Комментарии

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

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

Когда дробная часть точно 0.5, CInt и CLng всегда округляют ее к самому близкому четному числу. Например, 0.5 окружности к 0, и 1.5 окружности к 2. CInt и CLng отличаются от функций Fix и Int.

Используйте функцию IsDate, чтобы определить, можно ли Data преобразовать в дату или время. CDate распознает литералы даты и времени, а также некоторые числовые значения, которые попадают в диапазон допустимых дат. Конвертируя номер в дату, часть целого числа преобразовывают в дату. Любая дробная часть номера преобразовывают во время дня, начинающееся в полночь.

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

 

Примеры использования функций преобразований

CBool

Этот пример использует функцию CBool, чтобы конвертировать выражение в тип Boolean. Если выражение не равно нулю то CBool возвращает True; иначе, он возвращает False.

Dim A, B, Check

A = 5: B = 5   ' Инициализируем переменные.

Check = CBool (A = B)   ' Результат проверки True.

 A = 0   ' Определяем переменную.

Check = CBool (A)   ' Результат проверки False.

 

CByte

Этот пример использует функцию CByte, чтобы конвертировать выражение в тип Byte.

Dim MyDouble, MyByte

MyDouble = 125.5678   ' MyDouble является типом Double

MyByte = CByte (MyDouble)   ' MyByte округляется к типу Byte 126.

 

CCur

Этот пример использует функцию CCur, чтобы конвертировать выражение в Currency.

Dim MyDouble, MyCurr

MyDouble = 543.214588   'MyDouble является Double.

MyCurr = CCur (MyDouble * 2)   ' Производим удвоение MyDouble (1086.429176) и результат конвертируюем к типу Currency  (1086.4292).

 

CDate

Этот пример использует функцию CDate, чтобы конвертировать строку в тип Date. Вообще, кодирование напрямую дат и времени из строки (как показано в этом примере) не рекомендуется. Лучше использовать литералы даты и литералы времени, например, #2/12/1969 # и #4:45:23.

Dim MyDate, MyShortDate, MyTime, MyShortTime

MyDate = «февраль 12, 1969“   ' Определяем дату. 

MyShortDate = CDate (MyDate)   ' Преобразовываем в тип данных даты.

MyTime = “4:35:47 PM“   ' Определяем время.

MyShortTime = CDate (MyTime)   ' Преобразовываем в тип данных даты.

 

CDbl

Этот пример использует функцию CDbl, чтобы конвертировать выражение в тип Double.

Dim MyCurr, MyDouble

MyCurr = CCur (234.456784)   'MyCurr является типом Currency.

MyDouble = CDbl (MyCurr * 8.2 * 0.01)   ' Конвертируем результат в тип Double.

 

CDec

Этот пример использует функцию CDec, чтобы конвертировать числовое значение в тип Decimal.

Dim MyDecimal, MyCurr

MyCurr = 10000000.0587   ' MyCurr является типом Currency. 

MyDecimal = CDec (MyCurr)    ' MyDecimal является Decimal.

 

CInt

Этот пример использует функцию CInt, чтобы конвертировать значение в Целое число.

Dim MyDouble, MyInt

MyDouble = 2345.5678 

MyInt = CInt (MyDouble) ' результат 2346.

 

CLng

Этот пример использует функцию CLng, чтобы конвертировать значение в тип Long.

Dim MyVal1, MyVal2, MyLong1, MyLong2

MyVal1 = 25427.45: MyVal2 = 25427.55   ' MyVal1, MyVal2 — тип Doubles.

MyLong1 = CLng (MyVal1)   ' MyLong1 конвертируется в 25427.

MyLong2 = CLng (MyVal2)   ' MyLong2 конвертируется в 25428.

 

CSng

Этот пример использует функцию CSng, чтобы конвертировать значение в тип Single.

Dim MyDouble1, MyDouble2, MySingle1, MySingle2

MyDouble1 = 75.3421115: MyDouble2 = 75.3421555 'MyDouble1, MyDouble2 — тип Doubles

MySingle1 = CSng (MyDouble1)   ' MySingle1 конвертируется в 75.34211.

MySingle2 = CSng (MyDouble2)   ' MySingle2 конвертируется в 75.34216.

 

CStr

Этот пример использует функцию CStr, чтобы конвертировать числовое значение в тип String.

Dim MyDouble, MyString

MyDouble = 437.324   ' MyDouble является типом Double.

MyString = CStr (MyDouble)   ' MyString конвертируется в “437.324“.

 

CVar

Этот пример использует функцию CVar, чтобы конвертировать выражение в тип Variant.

Dim MyInt, MyVar

MyInt = 4534   ' MyInt является типом Integer.

MyVar = CVar (MyInt & “000“)   ' MyVar содержит строку “4534000».

06.10.2009, 7830 просмотров.


Справочник VBA

Функии, опрераторы языка VBA - их описание и примеры использования при программировании в Microsoft Office (Excel, Word, Access, Outlook, PowerPoint и т.д.)

18.06.2012 08:40:24
Комментарии к ячейкам – добавление, удаление и получение их значения

22.05.2012 11:37:00
Xor
Оператор выполняет операцию логического исключения (ИЛИ) для двух выражений