こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel VBAの残業時間の合計計算について

お世話になります。

seaclearsky8です。

残業データ ”6:00” ”7:00” ”8:00” ”9:00”  各残業時間

dim ztime1,ztime2 as date

ztime1="0:00"

ztime2=上記の各残業時間を順位いれていく処理

ztime1=timevalue(ztime1) + timevalue(ztime2)  残業時間の合計計算処理

24時間を越えるまでなら正常に計算できるのですが
timevalueの性質上24時間を越えると0:00に戻り
残業時間の合計が26時間なら2:00と計算されます。
これを26時と計算方法はあるのでしょうか?

ztime=format(ztime,"hh:mm")と

TimeValue(WorksheetFunction.Text(ztime1, "[h]:mm")) +
TimeValue(WorksheetFunction.Text(ztime2, "[h]:mm"))

も試しましたが上記と同じ結果になりました。

timevalueではできないのでしょうか?

宜しくお願いします。

投稿日時 - 2013-12-14 19:05:53

QNo.8386270

困ってます

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

こんばんは!

Excelのヘルプを見ると
>TIMEVALUE関数は時刻を表している文字列をシリアル値(少数)に変換します
すなわち引数は「文字列」となりますので、
実データ(ztime1やztime2)が数値の場合はエラーになると思います。

単純に
ztime1 + ztime2
のように、値(数値)の足し算にして、表示形式だけを
○○.NumberFormatLocal = "[h]:mm"
のようにしてみてはどうでしょうか?m(_ _)m

投稿日時 - 2013-12-14 22:52:04

お礼

回答ありがとうございます。

回答を参考にさせて
頂いて、正常に処理が
行えました。

有難うございました。

次回はヘルプも
見て考えます。

いろいろと有難うございました。

投稿日時 - 2013-12-15 11:54:03

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問