【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
サンプルファイル(マクロ有)
今回のマクロはこちらからダウンロードしてご使用いただけます。
VBA道場20 サンプルファイル(マクロ有)
1 ファイル 12.83 KB
解説
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
|
VBA逆引き大辞典
|