PeaceJet

証券会社で証券外務員をやりながら、マーケティングやデータ分析・UI/UX改善などを行っています。

【VBA】セルが空白かどうかを正確に判定する

f:id:PeaceJet:20180303173155p:plain

VBAでセルが空白かどうかを正確に判定する

VBAでは、空白であることを以下のようにすることが一般的かもしれません。

If Cells(1,1) = "" Then
    Debug.Print("空白です")
Else
    Debug.Print("空白ではありません")
End If

しかし、これでは漏れが出来ることがあります。

代表的な例としては、数式が入力されていた場合はセルが空白ではないと判定されてしまいます。

そこで、以下のように判定することで空白セルを漏れなく判定することができるようになります。

If Not xWs.Cells(1, 1).HasFormula Then
    If xWs.Cells(1, 1).Value = "" Then
        Debug.Print("空白です")
    else
        Debug.Print("空白ではありません")
    End If
else
    Debug.Print("数式が入力されています")
End If

このほか、セルの値がエラー値が返ってくる場合などがありますが、ここでは省略します。

/* ブログタイトルを取得 */