No.3ベストアンサー
- 回答日時:
こんにちは。
itohhといいます。たしかに、Date型だと上手く計算できません。
でも、経過時間を計算してくれる関数(DateDiff)を併用するとうまくいきますよ。
例.
Dim wTime As Date
Dim Keika As Date
Dim wBuf As String
Dim wNow As Date
wTime = DateValue("2001/7/16")
wNow = Now
Keika = wNow - wTime
wBuf = DateDiff("h", wTime, wNow) & Format(Keika, ":nn:ss")
No.4
- 回答日時:
どもども田吾作7です。
'日付
Dim wkDate1 As Date
Dim wkDate2 As Date
'差計算ワーク
Dim wkRefDate As Date
'時間計算ワーク
Dim wkHour As Long
'最後に時間を得る文字列
Dim wkStrDate As String
'時間セット
wkDate1 = "2001/7/16 12:00:00"
wkDate2 = "2001/7/15 11:35:21"
'差を求める
wkRefDate = wkDate1 - wkDate2
'時間の算出
wkHour = (Int(wkRefDate) * 24) + Hour(wkRefDate)
'文字列としてセット
wkStrDate = wkHour & ":" & Format(Minute(wkRefDate), "00") & ":" & Format(Second(wkRefDate), "00")
'イミディエイトウィンドウに出力
Debug.Print wkStrDate
ッて感じかな?
DateDiffって使ったこと無いけど、1時間多く計算されるのかな?
実験してみたら、常に一時間大きい値を出してた。実験の仕方が悪いのかな?
うーむDateDiff・・・奥が深い・・・
回答ありがとうございました。ちゃんと動作しました。
常に1時間多く計算されるとのことですが、まだ確認していませんので、
これからやってみたいと思います。
ポイントあげられなくてすみません。
(全員にあげられるように、チェックボックスにすればいいのに・・)
No.2
- 回答日時:
dim Time as Date
dim Keika as Date
dim hh as long
Keika = Now - Time
の後に
hh = clng(Month(Keika)) * 24 '時間
cstr(hh) & ":" format$(Keika,"mm:ss")
でOKでしょう。
コードはチェックしてません。ご了承ください。
ちなみに
>Date型は23:59:59の範囲しかダメなんですよね・・・・。
その通りです。
それから(余談)
str = d * 24 + h & ":" & Format(m, "00") & ":" & Format(s, "00")
は
str = cstr(d * 24 + h) & ":" & Format$(m, "00") & ":" & Format$(s, "00")
と型をそろえた方が良いと思います。
回答ありがとうございました。ちゃんと動作しました。
ポイントあげられなくてすみません。
(全員にあげられるように、チェックボックスにすればいいのに・・)
余談も参考になりました。。。。
No.1
- 回答日時:
Keikaには24時間以上の部分も日数として入っていますが、24時間以上は日数として別にするしかありませんが。
表示はちょっとスマートじゃありませんが、こんな感じでいかが?
Dim d As Long, h As Long, m As Long, s As Long
Dim str As String
h = Hour(Keika) ' 時
m = Minute(Keika) ' 分
s = Second(Keika) ' 秒
d = Int(Keika) ' 日
str = d * 24 + h & ":" & Format(m, "00") & ":" & Format(s, "00")
一番最初に回答してくれてありがとうございました。
このソースコードでちゃんと動きました。
自分も、このようにもっと柔軟に考えられたらなぁと。。。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
ロボットの住む世界で流行ってる罰ゲームとは?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
vba 時間の引き算 例えば 15:00から16:15の間の時間は1時間15分ですが、vbaのコード
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
CRC8を教えてください
-
排他的論理和 BCC(水平パリテ...
-
ホームページビルダーで料金の...
-
計算量の少ないn乗根の求め方
-
変化させるセルが変化しない
-
0xf0=256?
-
C言語についてです。 再帰を使...
-
エクセル VBAで 再計算を...
-
移動平均を計算するプログラム
-
C言語について 下の画像は do-w...
-
OpenGLでの軸回転について
-
C言語初心者。静磁場の計算。台...
-
傾いた四角形内の範囲の条件式
-
CRCについて教えてください
-
C言語で N行*M列 の逆行列を求...
-
VB6.0でのバイナリデータの扱い...
-
VBAでの勤務時間計算
-
Androidでのメトロノーム開発
-
Xwindowのプログラミング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
排他的論理和 BCC(水平パリテ...
-
VBAの再計算が反映されない件に...
-
バッチファイルでウインドウを...
-
変化させるセルが変化しない
-
EXCELなどで「返す」という表現
-
傾いた四角形内の範囲の条件式
-
エクセルで特定のセルのみを任...
-
CとFORTRANの計算速度はどちら...
-
Visual C++でdebugとreleaseで...
-
モジュラス103の計算とは何でし...
-
なぜオーバーフローになるので...
-
VB6で正確なミリ秒を計測したい...
-
VBでReplace
-
引き放し法による除算アルゴリ...
-
matlabで計算終了
-
CRC8を教えてください
-
VBAで関数をつくる
-
Excel VBAの残業時間の合計計算...
-
等高線を計算したい
おすすめ情報