進数変換リンク

他のn進数からn進数への変換は以下をご参照ください。

VBAで2進数から8進数へ変換する
VBAで2進数から10進数へ変換する
VBAで2進数から16進数へ変換する
VBAで8進数から2進数へ変換する
VBAで8進数から10進数へ変換する
VBAで8進数から16進数に変換する
VBAで10進数から2進数へ変換する
VBAで10進数から8進数へ変換する
VBAで10進数から16進数へ変換する
VBAで16進数から2進数へ変換する
VBAで16進数から8進数へ変換する
VBAで16進数から10進数へ変換する

16進数から8進数へ変換する考え方

16進数から8進数への変換は、一度10進数に変換してからそれを8進数に変換する方法を行います。

16進数から10進数への変換は、16進数文字列を「”&H1A”」のように頭に”&H”を付けて、それをVal関数で渡すことで変換できます。

10進数から8進数への変換はVBAのOct関数を利用します。

16進数から8進数に変換する関数

第一引数に変換元となる16進数文字列を指定し、第二引数に変換後の8進数文字列が返却されます。

例えば第一引数に”1B”とセットした場合は第二引数に”33″がセットされて関数が終了します。

使い方

16進数文字列をいくつか持つ配列を作って、ループでHexToOct関数を呼び出し、変換結果をイミディエイトウィンドウに出力するサンプルです。

実行結果
FFf 7777
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 10
9 11
A 12
B 13
C 14
D 15
E 16
F 17
10 20
11 21
12 22
13 23
14 24
15 25
16 26
17 27
18 30
19 31
1A 32
1B 33
1C 34
1D 35
1E 36
1F 37
20 40
21 41
22 42
23 43
24 44
25 45