Oct関数:数値を8進数に変換し文字列として取得する
Oct 関数は Excel VBA で用意されている関数の一つで、引数に指定した数値または数値を表す文字列を 8 進数に変換した値を文字列として取得することができます。ここでは Excel VBA における Oct 関数の使い方について解説します。
(Last modified: )
Oct関数の定義と使い方
Oct
関数は引数に指定した数値または数値を表す文字列を 16 進数に変換し文字列として返します。
引数に指定する数値を 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
関数を使って B3 セルから B6 セルに入力されている数値を 8 進数に変換し、戻り値を C3 セルから C6 セルにそれぞれ代入します。
数値を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 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。