【ExcelVBA】ブール型変数(Boolean)の概要・使い方を徹底解説!

皆さんは、VBAでBoolean型を使ったことがありますか?

処理の結果を保存して条件判定に使う時に、Boolean型の使い方を覚えておくと便利です。

そこで今回は、

・Boolean型とは?

といった基礎的なことから、

・Boolean型の使い方

・Boolean型を使いこなす方法

といった応用的な方法まで、徹底的に解説します!

目次

Boolean型とは?

はじめに、Boolean型について簡単に解説します。

Boolean型とは、真偽値を保存するための変数の型です。

たとえば、「変数Aが文字列の場合はTrue、文字列以外の場合はFalse」のように条件を指定した結果を保存するために使います。

条件の指定に使うととても便利なので、覚えておくのがおすすめです!

Boolean型の使い方

次に、Boolean型の使い方について解説します。

使い方:

Dim 変数名 as Boolean
変数名 = 真偽値

※真偽値:True または False

変数の基礎については以下で詳しく解説しているので、変数をあまり使ったことがない方は見てみてくださいね!

Boolean型を使いこなす方法

ここまでBoolean型の使い方について解説してきましたが、Boolean型の変数だけを使うことはほとんどなく、以下のどちらかの方法で使うケースが多いです。


1. IF文の条件判定結果として使う
2. Functionプロシージャの戻り値で使う

それぞれ詳しく解説しますね。

IF文の条件結果として使う方法

まずは、「IF文の条件結果として使う方法」についてです。

たとえば、「変数Aが文字列かどうか判定し、結果をBoolean型の変数に保存する」というときに使います。

サンプルコード:

Sub Test()
    Dim A As String
    A = "こんにちは"
    
    '変数Aの型が文字列かどうかチェック
    Dim checkResult As Boolean
    If TypeName(A) = "String" Then
        checkResult = True
    Else
        checkResult = False
    End If
   
    '結果を出力
    Debug.Print "変数Aの文字列チェックの結果は【" & checkResult & "】です"
    
End Sub

実行結果:

変数Aの文字列チェックの結果は【True】です

「TypeName(A) = “String”」で変数AがString(文字列型)になっているかIF文で判定し、結果をBoolean型の変数checkResultに保存し、最後に結果を出力しています。

このように、条件の判定結果を保存するときに使うととても便利です!

条件分岐に使ったIF文の使い方について詳しく知りたい方は、以下を見てみてくださいね!

Functionプロシージャの戻り値で使う方法

次は、「Functionプロシージャの戻り値で使う方法」についてです。

先ほどは処理の中に直接IF文・TypeName関数を使った条件判定を書きましたが、Functionプロシージャを使って処理を分けるのが一般的です。

その戻り値にBoolean型を使うことで、同じような処理を作りつつ、結果のみメインの処理で使うことができます。

先ほどのサンプルコードを、Functionプロシージャで書き換えたサンプルを用意しました。

サンプルコード:

'メイン処理
Sub Test2()
    Dim A As String
    A = "こんにちは"
    
    '変数Aの型が文字列かどうかチェック
    Dim checkResult As Boolean
    checkResult = isVariableType_String(A)
   
    '結果を出力
    Debug.Print "変数Aの文字列チェックの結果は【" & checkResult & "】です"
    
End Sub

'変数の型が文字列かチェックする処理
Function isVariableType_String(str1 As String) As Boolean
    If TypeName(str1) = "String" Then
        isVariableType_String = True
   Else
        isVariableType_String = False
   End If
End Function

実行結果:

変数Aの文字列チェックの結果は【True】です

変数の型が文字列かどうかチェックするコードを「isVariableType_String」に移動して、チェック結果のみメインの「Test2」の処理で受け取って、結果を出力しています。

さきほどの処理と結果は同じですが、別の処理で同じように変数の型を調べたいときにも使えるようため、Functionプロシージャを使う方法も合わせて覚えておくと便利です!

ちなみに、Functionプロシージャの使い方については以下でも詳しく解説しているので、気になる方は見てみてくださいね!

まとめ

今回は、Boolean型の概要・使い方・おすすめの活用方法について解説しました。

最後に開設した、「Boolean型 + Functionプロシージャ」の使い方をマスターすると、汎用性の高いコードが作れるようになります。

使い方も簡単なので、ぜひ使ってみてくださいね!

この記事を書いた人

北海道出身の30歳で、フリーランスエンジニア兼テックライターとして活動中。新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。

Webアプリ、業務アプリ開発において、要件定義 ~ 運用保守まで様々な経験あり。また3歳の娘がいる1児のパパで、日々娘との時間を確保するために仕事を頑張っています!
侍エンジニアでは、【誰でもわかるレベルのわかりやすさ】を意識して、記事を執筆中。

目次