シリアルナンバーとは、日付を意味する数値。単なる数値。シリアルナンバーを求める関数は、2種類ある。
- Serial:引数に、年月日を数値で渡す。関数名、DateSerial、TimeSerial
- Value:引数に、日付の文字列を渡す。関数名、DateValue、TimeValue
Serialの例。年、月、日、時、分、秒からシリアルナンバー/連番を得る。以下は、イミディエイトウィンドウ。?から始まる行は入力している。「’」から始まる文字列はコメント(月末)
?vba.DateSerial(2018,1,1)
2018/01/01
?vba.TimeSerial(1,5,2)
1:05:02
?dateserial(2020,4,1)-1 '月末
2020/03/31
Valueの例。文字列からシリアルナンバー/連番を得る。
?vba.DateValue("2000年5月1日")
2000/05/01
?datevalue("2000-3-4")
2000/03/04
?datevalue("2000/3/4")
2000/03/04
?vba.TimeValue("12時")
12:00:00
?vba.CDbl(vba.TimeValue("12時"))
0.5
見た目の変更(書式設定)をするVBAライブラリのFromat関数。
a=vba.DateSerial(2020,4,1)
?vba.Format(a,"aaa")
水
?format(a+7,"d/m(aaa)")
8/4(水)
?format(now,"yyyy/m/d h:m:s")
2018/10/10 23:0:28
ワークシート関数でも、日付に関する関数は同様にあるが、一部違う点がある。ワークシート関数には、DateSerialとTimeSerialが無い。引数はヒントが出るので覚える必要が無いが比較しておく。
ワークシートに日付を文字列として入れるとシリアルナンバーになって入る。表示形式が日付や時間でもデータの中身を確認する必要がある。セルに日付の文字列として「平成30年1月1日 10時50分」などと入れる場合は、セルの入力の先頭「’」を入れてから入力する。