【マクロVBA】セルや変数が空白かどうかを判断する方法!IsEmpty関数の使い方と注意点も紹介

条件分岐

VBAでは、セルや変数が空白かどうかを判断する必要がある場面があります。

そこで、本記事ではIsEmpty関数の使い方について解説します。

本記事では、IsEmpty関数の使い方や注意点、実際の活用例について詳しく解説します。

ぜひ参考にしてください。
それでは見ていきましょう!




⬛︎こんな事ができるようになる!

・セルや変数が空白かどうかを判断できるようになる

■構文

戻り値IsEmpty(対象

IsEmpty関数は、指定したセルや変数が空白かどうかを判断するために使用されます。

戻り値True(空白)またはFalse(空白でない)となります。

⬛︎忙しい人向けのコピペ用ソースコード

Sub 空白判断()
Dim target As Range
Set target = 対象セル・変数

If IsEmpty(target) Then
 '空白の処理
Else
 '空白でないときの処理
End If
End Sub

対象セル・変数はカスタムして使用してください。
空白の処理」または「空白でないときの処理」を当てはめることで場面に合わせて処理できます。

⬛︎セルが空白かどうかを判断する方法

まずはセルが空白かどうかを判断する方法について説明します。
下図の見本をご覧ください。

B3に文字・数値が入力されているか・空白なのか判断してみたいと思います。

では再度構文を見ていきましょう。

戻り値IsEmpty(対象

では構文に当てはめてみましょう。
対象B3のセルなのでそのままB3が当てはまります。
 
そこからIfを使用することで空白の時は「セルは空白です」を出力空白でない場合は「セルは空白ではありません」という出力をします。
 
それではソースコードを見ていきましょう。
 
Sub セルの空白判断()
Dim target As Range
Set target = Range(“B3“)

If IsEmpty(target ) Then
 Cells(3, 4) = “セルは空白です”
Else
 Cells(3, 4) = “セルは空白ではありません”
End If
End Sub
それでは実行してみましょう。
結果はこのようになります。
空白でないので「セルは空白ではありません」という結果になりました。
 
ちなみに空白の状態で実行してみましょう。
結果はこのようになります。
 
 
対象セルは空白なので「セルは空白です」となってます。

 

⬛︎変数が空白かどうかを判断する方法

次に変数が空白かどうかを判断する方法について説明します。

今回は先にソースコードを見ていきましょう。

Sub 変数の空白判断()
Dim text

If IsEmpty(text) Then
 MsgBox “変数は空白です”
Else
 MsgBox “変数は空白ではありません”
End If
End Sub

上記の例では、変数textが空白かどうかを判断しています。

今回は変数textが空白の場合なので、「変数は空白です」というメッセージが表示されます。

 

それでは実行してみましょう。
結果はこのようになります。

「変数は空白です」というメッセージが出ました。
では空白でないときの処理結果を見ていきましょう。

下記コードで実行してみます。

Sub 変数の空白判断()
Dim text

text= “独学エクセル塾”

If IsEmpty(text) Then
 MsgBox “変数は空白です”
Else
 MsgBox “変数は空白ではありません”
End If
End Sub

それでは実行してみましょう。
結果はこのようになります。

空白でないので「変数は空白ではありません」のメッセージが表示されました。

 

⬛︎よくあるエラーと対処法

IsEmpty関数は、空白セルや空白文字列を判定するために使用されますが、時に予期しない結果を返す場合があります。

以下の点に注意してください。

空白セルの判定

IsEmpty関数では、セルに数式や空白スペースが含まれている場合、Falseを返します

この場合、セルが本当に空白であるかどうかを確認するために、Blankプロパティを使用すると良いでしょう。

例を紹介します。
下記見本をご覧ください。

Sub 変数の空白判断()
Dim text

text= “”

If IsEmpty(text) Then
 MsgBox “変数は空白です”
Else
 MsgBox “変数は空白ではありません”
End If
End Sub

変数「text」には「””(空白)」が格納されているため、一見、Trueの戻り値となりそうですが、

実際は「空白」が格納されているとみなされて「空白ではありません」のメッセージが表示されます。

■練習問題

練習問題も別の記事でまとめているので是非参考にしてみてください!

⬛︎公式の説明

わかりやすいように説明したため公式と使用する語句が異なりますが
マイクロソフト公式の説明については下記のリンクを参照してください。☟

⬛︎まとめ

いかがだったでしょうか?

本記事では、マクロVBAでセルや変数が空白かどうかを判断する方法を解説しました。

IsEmpty関数を使うことで、簡単に空白の判定ができます。

以上が、IsEmpty関数についての解説となります。お役に立てれば幸いです。

それでは次回の記事でお会いしましょう。

 

 

コメント