Hex関数:数値を16進数に変換し文字列として取得する

Hex 関数は Excel VBA で用意されている関数の一つで、引数に指定した数値または数値を表す文字列を 16 進数に変換した値を文字列として取得することができます。ここでは Excel VBA における Hex 関数の使い方について解説します。

(Last modified: )

Hex関数の定義と使い方

Hex 関数は引数に指定した数値または数値を表す文字列を 16 進数に変換し文字列として返します。

Hex(number)

引数に指定する数値を 16 進数に変換し文字列として返します。なお数値が整数でなかった場合には、一番近い整数にまるめられてから変換されます。

次の例を見てください。

Debug.Print Hex(24)     '18
Debug.Print Hex(-9)     'FFF7
Debug.Print Hex("255")  'FF

Hex 関数は引数に指定した数値や数値を表す文字列を 16 進数に変換して文字列として返しますので、それぞれ "18" 、 "FFF7" 、 "FF" とイミディエイトウィンドウに出力されます。

サンプルコード

それでは簡単なサンプルを作成して試してみます。

Option Explicit

Sub Hex関数()
    Range("C3").Value = Hex(Range("B3").Value)
    Range("C4").Value = Hex(Range("B4").Value)
    Range("C5").Value = Hex(Range("B5").Value)
    Range("C6").Value = Hex(Range("B6").Value)
End Sub

Hex関数の定義と使い方(1)

このプログラムを実行すると Hex 関数を使って B3 セルから B6 セルに入力されている数値を 16 進数に変換し、戻り値を C3 セルから C6 セルにそれぞれ代入します。

Hex関数の定義と使い方(2)

数値を16進数で表示する

Excel VBA のプログラムの中で数値を 16 進数で表示する場合は数値の先頭に &H を付けてください。

&H3F

次の例を見てください。

Debug.Print 8 + 14     '22
Debug.Print &H8 + &HE  '22

最初の式では 10 進数の 8 と 14 を加算しているので結果は 22 となります。次の式では 16 進数の 8 と E を加算しています。これは 10 進数に変換すると 8 と 14 の加算になるのでこちらも結果は 22 となります。

このように VBA のプログラムの中で数値のまま 16 進数で記述する場合は数値の先頭に &H を付けてください。

-- --

Excel VBA における Hex 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。