【VBA道場】#20  セルが日付かどうか判断する

ExcelVBA

【VBA道場】#20  セルが日付かどうか判断する



問題

A1のセルに日付が入っていたらB1のセルに「日付です」と表示、A1のセルに日付以外が入っていたらB1のセルに「日付以外です」と表示せよ。

 

完成見本

解答

Sub vba_doujyou_19()

’もしA1セルが日付だったら
If IsDate(Range("A1")) Then
    Range("B1").Value = "日付です"   ’B1セルに「日付です」と表示
Else   ’そうでなければ
    Range("B1").Value = "日付以外です" ’B1セルに「日付意外です」と表示
End If

End Sub

サンプルファイル(マクロ有)

今回のマクロはこちらからダウンロードしてご使用いただけます。

 

解説

IsDate(調べる変数や式):セルが日付かどうか調べる

 

セルに入力されているデータが日付かどうかを調べるには、IsDate関数を使います。

IsDate関数は、引数が日付の時にTrueを返します。

 

今回はA1セルが日付であるかどうかを判断しました。

If IsDate(Range("A1")) Then

前回と同様、今回も「=true」が省略されています。

省略せずに書くと

If IsDate(Range("A1"))=true Then

となります。

 

 

If IsDate(Range("A1")) Then
    Range("B1").Value = "日付です"
Else
    Range("B1").Value = "日付以外です"
End If

今回は、A1セルが日付だったら、B1セルに「日付です」
A1セルが日付ではなかったら、B1セルに「日付以外です」

と出るようにIf文を作りました。

 

おわりに

書式のチェックはデバックやエラー処理において非常に重要になります!
しっかり覚えておきましょう。

本日はここまで!

 

おすすめ参考書

Amazon

たった1秒で仕事が片付くExcel自動化の教科書

いちばんやさしいExcelVBAの教本

ExcelVBA逆引き辞典 パーフェクト

楽天

いちばんやさしいExcelVBA

 

 

すらすら読めるExcelVBA

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

スラスラ読めるExcel VBAふりがなプログラミング [ リブロワークス ]
価格:2035円(税込、送料無料) (2021/4/22時点)

楽天で購入

 

 

 

VBA逆引き大辞典

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Excel VBA逆引き辞典パーフェクト第3版 [ 田中亨 ]
価格:2838円(税込、送料無料) (2021/4/22時点)

楽天で購入

 

 

タイトルとURLをコピーしました