スライドショー

【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

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説