Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
時刻(時間)の関数:Excel VBA関数
Home »
Excel講座の総目次 »
Excel VBA入門:目次 »
Excel VBA関数:目次 »
日付の関数
このページではExcel VBAの時刻・時間に関する関数をまとめて説明しています。
時刻の間隔などの計算はDateAdd関数やDateDiff関数が使えます。
パソコン(システム)の時刻が返されます。
使用例
Sub test1()
Range("A1").Value = Time
End Sub
A1セルにはPCの時刻が「10:20:40」(10時20分40秒)のように返ります。
パソコン(システム)の日付と時刻が返されます。
使用例
Sub test2()
Range("A1").Value = Now
End Sub
A1セルにはPCの日付と時刻が「2008/11/2 14:44:40」(2008年11月2日 10時20分40秒)のように返ります。
パソコン(システム)の時刻の時数が返されます。
使用例1
Sub test3-1()
Range("A1").Value = Hour(Time)
End Sub
A1セルにはPCの時刻が10時20分40秒のとき、時数の「10」が返ります。
使用例2
Sub test3-2()
Range("A2").Value = Hour("14時30分")
End Sub
A2セルには時数の「14」が返ります。
パソコン(システム)の時刻の分数が返されます。
使用例1
Sub test4-1()
Range("A1").Value = Minute(Now)
End Sub
A1セルにはPCの時刻が10時20分40秒のとき、分数の「20」が返ります。
使用例2
Sub test4-2()
Range("A2").Value = Minute("14時30分")
End Sub
A2セルには分数の「30」が返ります。
パソコン(システム)の時刻の秒数が返されます。
使用例1
Sub test5-1()
Range("A1").Value = Second(Now)
End Sub
A1セルにはPCの時刻が10時20分40秒のとき、秒数の「40」が返ります。
使用例2
Sub test5-2()
Range("A2").Value = Second("14時30分15秒")
End Sub
A2セルには秒数の「15」が返ります。
時刻を表す値を返します
構文:TimeValue(time)
time:0:00:00 (12:00:00 AM)〜23:59:59(11:59:59 PM)の範囲の時刻を表す文字列式を指定します。
使用例
Sub test6()
Range("B1").Value = TimeValue("10:20:40")
Range("B2").Value = TimeValue("10:20:40 PM")
Range("B1:B2").NumberFormatLocal = "h:mm:ss"
End Sub
B1セルには時刻「10:20:40」を返します。セルの値はシリアル値です。
B2セルには時刻「22:20:40」を返します。セルの値はシリアル値です。
引数に指定した時、分、秒に対応する値を返します。
構文:TimeSerial(hour, minute, second)
hour:必ず指定します。時を表す 0 (12:00 AM) 〜 23 (11:00 PM) の範囲の数値または数式を指定します。
minute:必ず指定します。分を表す 0 〜 59 の範囲の数値または任意の数式を指定します。
second:必ず指定します。秒を表す 0 〜 59 の範囲の数値または任意の数式を指定します。
使用例
Sub test7()
Range("C1").Value = TimeSerial(10, 20, 40)
End Sub
C1セルには時刻「10:20:40」のシリアル値が返されます。
指定した間隔を加算した時刻の値を返します。
時間の[分]単位は「n」となりますので注意してください。
構文:DateAdd(interval, number, date)
interval:必ず指定します。追加する時間間隔を表す文字列式を指定します。
yyyy
年
q
四半期
m
月
y
年間通算日
d
日
w
週日
ww
週
h
時
n
分
s
秒
number:必ず指定します。追加する時間間隔の数を表す数式を指定します。
未来の日時を取得するには正の数を指定します。過去の日時を取得するには負の数を指定します。
date:必ず指定します。時間間隔を追加する日付を表すバリアント型 (内部処理形式 Date の Variant) の値またはリテラル文字列を指定します。
使用例
Sub test8()
Range("C1").Value = DateAdd("h", 1, "10:15:30")
Range("C2").Value = DateAdd("n", 10, "10:15:30")
Range("C3").Value = DateAdd("s", 15, "10:15:30")
End Sub
C1セル:11:15:30 が返ります。
10:15:30に1時間を加えるので11:15:30となります。
C2セル:10:25:30 が返ります。
10:15:30に10分を加えるので10:25:30となります。
C3セル:10:15:45 が返ります。
10:15:30に15秒を加えるので10:15:45となります。
2つの指定した日付の時間間隔の値を返します。
時間の[分]単位は「n」となりますので注意してください。
構文:DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
interval:必ず指定します。時間単位を表す文字列式を指定します。
日数を求めるには、年間通算日 ("y") か、日 ("d") のいずれかを指定します。
名前付き引数
yyyy
年
q
四半期
m
月
y
年間通算日
d
日
w
週日
ww
週
h
時
n
分
s
秒
date1, date2:必ず指定します。間隔を計算する 2 つの日付/時刻を指定します。
使用例
Sub test9()
Range("D1").Value = DateDiff("h", "9:10:20",
"17:30:35")
Range("D2").Value = DateDiff("n", "9:10:20",
"17:30:35")
Range("D3").Value = DateDiff("s", "9:10:20",
"17:30:35")
End Sub
D1セル:8が返ります。
"9:10:20", "17:30:35"の時間間隔は8時間なので8が返ります。
D2セル:500が返ります。
"9:10:20", "17:30:35"の時間間隔は8時間20分なので8*60+20=500が返ります。
D3セル:30015が返ります。
"9:10:20", "17:30:35"の時間間隔は8時間20分15秒なので8*60*60+20*60+15=30015が返ります。
スポンサードリンク
よねさんのWordとExcelの小部屋 |Excel(エクセル) VBA関数:目次 |時刻(時間)の関数
PageViewCounter
Since2006/2/27