本ページには広告が含まれています。

ExcelVBA CBool関数 Boolean型に変換します

ExcelVBA CBool関数 Boolean型に変換します

Excel VBAの「CBool 関数」について解説します。

スポンサーリンク

CBool 関数とは

Excel VBA の CBool 関数は、引数をブール(Boolean)型に変換して返します。

CBool 関数は、引数を特定のデータ型に強制的に変換するデータ型変換関数のひとつです。

では、CBool 関数の構文や引数の設定と実際の使い方について具体的に解説していきたいと思います。

CBool 関数(Visual Basic for Applications リファレンス)

構文(引数と戻り値)

Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。

構文

CBool(expression)

引数

引数 説明
expression【必須】任意の文字列式または数式を指定します

戻り値

戻り値説明
Boolen型の結果Boolean は True または False を返します
【引数が数式の場合】
・結果が 0 なら False0 以外True
【引数が文字列式の場合】
・”True” なら True、”False” なら False
・数値と認識できる値なら数式の場合と同じ
・それ以外は エラー13 が発生します

解説(使用例)

CBool 関数のサンプルコードを使って解説します。

CBool 関数の引数と戻り値を確認するサンプル

CBool 関数のいろいろな引数とその戻り値をイミディエイトに表示して確認するサンプルです。

'■CBool関数サンプル
Sub CBool_Sample()
  Dim v As Variant
  On Error GoTo ErrH
  v = 0       '数値「0」
  Debug.Print CBool(v) & _
              " ← CBool(" & v & ")"
  v = 0.1     '数値(小数値)
  Debug.Print CBool(v) & _
              " ← CBool(" & v & ")"
  v = -12     '数値(マイナス値)
  Debug.Print CBool(v) & _
              " ← CBool(" & v & ")"
  v = "12"   '文字列の数字
  Debug.Print CBool(v) & _
              " ← CBool(""" & v & """)"
  v = "true"  '文字列 "true"
  Debug.Print CBool(v) & _
              " ← CBool(""" & v & """)"
  v = "false" '文字列 "false"
  Debug.Print CBool(v) & _
              " ← CBool(""" & v & """)"
  v = "2024/1/1"  '日付文字列
  Debug.Print CBool(v) & _
              " ← CBool(""" & v & """)"
  v = CDate("2024/1/1") 'Date値
  Debug.Print CBool(v) & _
              " ← CBool(" & v & ")"
  v = "十二"
  Debug.Print CBool(v) & _
              " ← CBool(""" & v & """)"
  Exit Sub
ErrH:
  Debug.Print "エラー" & _
            " ← CBool(""" & v & """)"
  Resume Next
End Sub

このコードを実行したイミディエイト画像がこちらです。

CBool_Sample コード実行イミディエイト画像

1番目(5~6行目)、数値「0」が引数の結果です。「0」は False です。

2番目(8~9行目)、小数値「0.1」を引数とした結果は True です。

3番目(11~12行目)、負の数値「-12」を引数とした結果は True でした。「0」以外の数値は全部 True です。

4番目(14~15行目)、文字列の数字「”12”」の引数は数値と認識された結果 True が返されました。

5番目(17~18行目)、文字列「”true”」を引数とした場合 True が返されました。

6番目(20~21行目)、文字列「”false”」を引数とした場合 False が返されました。

7番目(23~24行目)、文字列の日付「”2024/01/01″」は数値とは認識されず False が返りました。

8番目(26~27行目)、文字列の日付「”2024/01/01″」を Date に変換するとシリアル値は数値と認識され True が返りました。

9番目(29~30行目)、文字列の算数字「”十二”」は数値とは認識されず False が返りました。

おわりに

Excel VBA CBool 関数は、引数の数値や文字列などをブール型 (Boolean) に変換します。

引数の式(数値や文字列)が「0」以外の値に評価される場合は True が返され、それ以外の場合は False が返ります。「0」は False です。

CBool 関数は、IFステートメントなどの条件分岐判定にブール値を使う場合に使用されることが多いと思います。

以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;

VBAの関数一覧はこちらからご参照ください。

スポンサーリンク
スポンサーリンク

VBAサンプルファイルダウンロードページのご案内

このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。

ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!