TimeSerial関数:時・分・秒から時刻データを返すExcel VBA関数
TimeSerialとは、引数の時・分・秒からバリアント型の時刻データを返す関数です。
引数がそれぞれの範囲を超えた場合、自動的に繰り上がります。例えば分に61を指定した場合、時が+1されます。-32768~32767の範囲を超えた場合はエラーになります。
構文: TimeSerial(Hour , Minute , Second)
Hour : 時を表す整数の数値を指定
Minute : 分を表す整数の数値を指定
Second : 秒を表す整数の数値を指定
TimeSerial関数のVBA使用例
下の時・分・秒が入力されているセルの値から時刻を作成し表示します。
TimeSerialで時刻に変換するVBAです。
Sub MyTimeSerial()
Range("C6") = TimeSerial(Range("C2"), Range("C3"), Range("C4"))
End Sub
実行結果です。
時刻が作成されC6セルに表示されています。
TimeSerial関数で繰り上がりのテスト
C3セル : 分は0~59の範囲のところ、62を入力しました。
C4セル : 秒は0~59の範囲のところ、61を入力しました。
実行結果です。
分・秒ともに繰り上がった時刻が表示されています。
時は0~23の範囲のところ、25でテストした結果、下のように日付と時刻が表示されました。
時の繰り上がりには注意が必要です。
TimeSerial関数でエラーになる場合
引数に-32768~32767の範囲を超えた値を指定した場合、「実行時エラー6:オーバーフローしました。」のエラーになります。
時刻の表示形式を変更するには
1.リボンの[ホーム]~数値グループの右下ボタンをクリックします。
2.セルの書式設定ダイアログが開くので、分類から「時刻」を選択します。
3.種類のリストから表示形式を選択します。
13:30:55を選択した結果です。