• ベストアンサー

エクセル マクロ 24時間を越える表示

時間表示について教えてください。 エクセルマクロで経過した時間を24時間を越える表示で行いたいのですが、うまくできません。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

どうも"[h]"が駄目みたいですね。 RT = Int(Range("A1") * 24) & ":" & Format(Range("A1"), "nn:ss") MsgBox "経過時間は" & RT & "です。" では駄目でしょうか?

その他の回答 (3)

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.4

MsgBox CStr(Int(Range("A1").Value) * 24 + Hour(Range("A1").Value)) & ":" & Format(Range("A1").Value, "nn:ss") でいかがでしょうか。

coral_japan
質問者

お礼

ご回答ありがとうございました!見事に解決しました!

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

既出回答ではRange(範囲)となってますが、合計のセルだけに Sub test01() Range("A10").Formula = "=SUM(A1:A9)" Range("a10").NumberFormat = "[h]:mm:ss" End Sub でもよいと思う。 ただし上の例でA1:A9が24時間を越えるデータもあるならデータ全セルに[h]:mm:ssを設定すべきですが。1日は24時間として換算して入力が必要と思う。

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.1

書式の問題だと思います。 書式をたとえば [h]:mm:ss などどしてみて下さい。 VBAのコードとしては、 Range(範囲).NumberFormatLocal = "[h]:mm:ss" となると思います。

coral_japan
質問者

お礼

お答えいただきありがとうございます。 質問時の内容が足りずにすみません。 msgbox"経過時間は" & Range("A1").value & "です" と、したいのですが、お願いします。 Range("A1").valueの部分をformat(Range("A1").value,"[h]:mm:ss") としたのですが、12時間を越えると表示がうまくできません。

関連するQ&A