スライドショー

【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プロシージャ」の使い方をマスターすると、汎用性の高いコードが作れるようになります。

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

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。
Webアプリ、業務アプリ開発において、要件定義、設計、インフラ、製造、テスト、運用保守など、様々な経験あり。
また、侍ブログ編集部として、これまでに200記事以上の記事を執筆。
現在はフリーランスエンジニア兼テックライターとして活動中。