サイトについて      連絡先   検索

VBA Hex 関数

はじめに

Excel VBA マクロの Hex 関数を紹介します。

Hex 関数は、指定した数値を 16 進数の文字列にして返します。

コードで入力したり 10 進数に変換できます。

  • 目次
    • 構文
    • 解説
    • 使用例

構文

Hex(数値)
数値を 16 進数の文字列に変換します。

引数「数値」Long 型の範囲の整数を指定します。
戻り値の型文字列型 (String)

16 進数

16 進数とは 0 ~ 9 と A ~ F を使って、次のように 16 で桁が繰り上がります。

10 進数 16 進数
00
11
22
・・・
88
99
10A
11B
12C
13D
14E
15F
1610
1711

解説

引数「数値」に小数部を含む値を渡されたときは、自動で整数に偶数丸められてから変換されます。

数値以外や Long の範囲外の値を渡されたときはエラーが発生します。

16進数を変換

16 進数の数値をコードで入力するには&HFFのように、頭に&Hを付けます。

16 進数の文字列を 10 進数に変換するには&HFFのように頭に&Hを付けた文字列を「Val 関数」で変換します。

使用例


Dim s As String
 
s = Hex(9)
Debug.Print(s) ' 9

s = Hex(10)
Debug.Print(s) ' A

s = Hex(15)
Debug.Print(s) ' F

s = Hex(16)
Debug.Print(s) ' 10

s = Hex(255)
Debug.Print(s) ' FF

s = Hex(-1)
Debug.Print(s) ' FFFF

s = Hex(-2)
Debug.Print(s) ' FFFE

s = Hex("Tips") ' エラー

16 進数の値を入力する


Dim l As Long

l = &H9
Debug.Print(l) ' 9

l = &HA
Debug.Print(l) ' 10

l = &HFF
Debug.Print(l) ' 255

16 進数の文字列を 10 進数に変換する


Dim s As String
Dim l As Long

s = Hex(16) ' 10
l = Val("&H" & s)
Debug.Print(l) ' 16
 
s = Hex(255) ' FF
l = Val("&H" & s)
Debug.Print(l) ' 255
  • 目次
    • 構文
    • 解説
    • 使用例