Преобразование десятичного числа (decimal) в его шестнадцатеричное представление (hexadecimal) с помощью функции Hex в VBA Excel. Примеры.
Функция Hex
Синтаксис
1 |
Hex(Number) |
Number – строковое или числовое выражение, возвращающее число в диапазоне от -2 147 483 648 до 2 147 483 647 (соответствует типу данных Long).
Примечания
- Функция Hex возвращает шестнадцатеричные значения до 8 знаков.
- Дробные значения параметра Number округляются до целых.
- Обратное преобразование шестнадцатеричных чисел в десятичные осуществляется с помощью префикса
&H
.
Примеры
Пример 1
Варианты преобразования десятичных чисел, возвращенных числовыми и строчными выражениями:
1 2 3 4 5 |
Sub Primer() Cells(1, 1) = Hex(4568799 + 45687 * 2) 'Результат: 471BCD Cells(2, 1) = Hex("35124" & "4581") 'Результат: 14EF9125 Cells(3, 1) = Hex(CDate("21.04.2021")) 'Результат: AD13 End Sub |
Пример 2
Пользовательская функция, преобразующая десятичное число в его шестнадцатеричное представление с ведущими нулями:
1 2 3 |
Function DecHex(myDec As Long) As String DecHex = Right("00000000" & Hex(myDec), 8) End Function |
Пример 3
Пользовательская функция, преобразующая шестнадцатеричное число в десятичное с помощью префикса &H
:
1 2 3 |
Function HexDec(myHex As String) As Long HexDec = "&H" & myHex End Function |
Результат работы функций DecHex и HexDec:
Функция DecHex вставлена в ячейки второго столбца, а HexDec – в ячейки третьего.
Пример 4
Пользовательская функция, преобразующая указанные значения насыщенности красного, зеленого и синего цветов в шестнадцатеричный HTML-код цвета:
1 2 3 |
Function HexColor(red As Byte, green As Byte, blue As Byte) As String HexColor = "#" & Right("00" & Hex(red), 2) & Right("00" & Hex(green), 2) & Right("00" & Hex(blue), 2) End Function |
Результат работы функции HexColor:
Функция HexColor вставлена в ячейки четвертого столбца.