アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBAで○○:○○と表示させたいのに小数で0.53125のように表示されてします。

初心者です。

E101から下に時刻
F101から下に時間(1時間は1、1時間半は1.5)が記入されています。

ユーザーフォームを作成しており、Initialize()に
E101とF101を足した時間(12:00+1なら13:00)を
「txt退出時間」に表示させたいと思っていますが、
数値では求められるものの○○:○○となりません。



Private Sub UserForm_Initialize()
Dim 行 As Long
Dim 退出時間 As Variant



txt日付 = Worksheets("○○").Range("B1")
txt番号 = Worksheets("○○").Range("U98")

Worksheets("○○").Select

行 = txt番号 + 100
退出時間 = Cells(行, 5) + Cells(行, 6) / 24

txt利用時間 = Cells(行, 6).Value
txt入室時間 = Cells(行, 5).Text
txt退出時間 = 退出時間’ここが上手くいきません

txt打込時間 = Cells(行, 17).Text


Call リスト更新


End Sub

Initializeでは無いのでしょうか?右も左も分かりません。
分かる方宜しくお願い致します。

A 回答 (2件)

退出時間 これは、単なる数値ですから、時間値をテキストに替えてあげればよいわけです。



txt退出時間.Text = Format$(退出時間, "hh:mm")

TextやValueのプロパティは、出来る限り付けておいたほうが良いです。
    • good
    • 2
この回答へのお礼

完璧です。

textやValueに関してもアドバイスありがとうございました。

お礼日時:2010/09/29 19:18

退出時間 = Cells(行, 5) + Cells(行, 6) / 24


の式を次のようにしてはどうでしょう。

退出時間 = Cells(行, 5) + TimeSerial(0, Cells(行, 6) * 60, 0)

txt退出時間.Text=Format$(退出時間,"[h]:mm")

この回答への補足

ありがとうございました。
12:45:00となってしまいましたが、勉強になりました。

補足日時:2010/09/29 19:17
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/09/29 19:36

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A