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

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

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

そこで今回は、

・Boolean型とは?

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

・Boolean型の使い方

・Boolean型を使いこなす方法

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

Boolean型とは?

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

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

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

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

Boolean型の使い方

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

使い方:

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

※真偽値:True または False

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

【VBA入門】変数をDimで宣言し、 Asでデータ型を定義する方法
更新日 : 2019年10月1日

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文の使い方について詳しく知りたい方は、以下を見てみてくださいね!

VBAのIf文を使いこなそう! 条件分岐の基本をスッキリ解説
更新日 : 2019年9月26日

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プロシージャの使い方については以下でも詳しく解説しているので、気になる方は見てみてくださいね!

【VBA入門】Functionの使い方(呼び出し、引数、戻り値)
更新日 : 2019年9月26日

まとめ

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

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

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

最後まで挫折しないマンツーマンレッスン

侍エンジニア

挫折の多いと言われるプログラミングの習得においては、一人ひとりに合ったレッスンで自分のペースで学んでいくことが何よりも大事であり、「侍エンジニア」ではプロのエンジニアが専属マンツーマン指導。だからこそやり遂げることができます。

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

無料体験レッスンはこちら

書いた人

Sanshiro Wakizaka

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

Webアプリ、業務アプリ開発において、要件定義 ~ 運用保守まで様々な経験あり。また3歳の娘がいる1児のパパで、日々娘との時間を確保するために仕事を頑張っています!

侍エンジニアでは、【誰でもわかるレベルのわかりやすさ】を意識して、記事を執筆中。

おすすめコンテンツ

まずはここから!初心者でも1から学べるプログラミング入門カリキュラム

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー