重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!gooアプリ版

VBAで計算したシリアル値を時間と分で表記したいのですが、うまくいきません。
計算したシリアル値が1.7291666~だったので41時間~分というように表記したいのですが、17時間30分となってしまいます。
以下はVBAの一部で、下のMsgBoxでは、シリアル値が1.7291666~と出力されます。

Time_SUMはLong型です。

wb.Sheets(1).Cells(3, 3).Value = Time_SUM / 1440

MsgBox "シリアル値" & wb.Sheets(1).Cells(3, 3).Value

記入するシートの書式設定は、ユーザー定義で「h"時間"mm"分"」としています。
何が原因か詳しい方教えていただけないでしょうか。

A 回答 (2件)

ん?


そもそも質問者さんは「セルの書式設定」の「ユーザー書式」でその表記ができないのでしょうか。

24時間を超えた分を ”日” とせず、”時間” で表記するには、
 h:mm
これを
 [h]:mm
とすればいい。
こんだけのことです。

ユーザー書式をVBAで設定するか、予め対象のセルに対して設定しておきましょう。
    • good
    • 0

こんにちは



シリアル値は、一般的に日付の値も含んでいます。
表示書式を「h"時間"mm"分"」のようにした場合は、通常表示の時刻(日付の部分を除いて、0~24時)を示します。
ですので、41時間=1日+17時間なので、表示は17時間となります。

これを41時間のように表示させ長ければ、表示書式を「[h]"時間"mm"分"」とすれば宜しいかと。
https://support.office.com/ja-jp/article/%E8%A1% …
    • good
    • 0
この回答へのお礼

ありがとうございます。[]で囲む方法を初めて知りました。

お礼日時:2019/11/07 09:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!