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

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

(Last modified: )

Oct関数の定義と使い方

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

Oct(number)

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

次の例を見てください。

Debug.Print Oct(37)    '45
Debug.Print Oct(-195)  '177475
Debug.Print Oct("63")  '77

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

サンプルコード

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

Option Explicit

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

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

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

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

数値を8進数で表示する

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

&O46

次の例を見てください。

Debug.Print 8 + 14       '22
Debug.Print &O10 + &O16  '22

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

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

-- --

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

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

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