- Home ›
- Excel VBA入門 ›
- 基本文法
VBAではTrueは-1でFalseは0に変換される
Excel VBA でブール型の値として True と False が用意されていますが、 True と False を整数に変換するとそれぞれ -1 と 0 に変換されます。 Excel のワークシート上では TRUR は 1 、 FALSE は 0 に変換されるので注意が必要です。ここでは実際に変換を行って結果を確認してみます。
(Last modified: )
ブール型の値を整数に変換する
Excel VBA ではブール型の値として「True」と「False」が用意されています。数値が必要とされる場所で「True」や「False」を記述すると自動的に変換されて使用されますが、「False」は 0 、「True」は 0 以外の値として使用されることが多いです。
では実際にどのような値に変換されるのかを確認してみます。変換を行うのは CInt
関数を使用します。次のような簡単なプログラムを作成しました。
Option Explicit Sub テスト() Debug.Print "True = " & CInt(True) Debug.Print "False = " & CInt(False) End Sub
True および「False」の値を整数に変換してイミディエイトウィンドウに出力します。では実際にプログラムを実行してみます。
イミディエイトウィンドウには次のように表示されました。
このように Excel VBA では「True」は -1 に「False」は 0 に変換されます。
注意点として Excel のワークシートで TRUE および FALSE を数値に変換するとそれぞれ 1 と 0 に変換される点です。
VBA とワークシートでは変換される値が異なるので注意してください。(Excel のワークシートで論理値を数値に変換するには N
関数を使用します。詳しい使い方は「TRUEを1にFALSEを0に変換する(N)」を参照されてください)。
-- --
Excel VBA で True や False がどのように数値に変換されるのかについて解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。