ここから本文です

Excel VBAについて セルA5に時間を入力します(例 18:30) ボタンを押すと時間だけ...

kom********さん

2019/3/2319:28:26

Excel VBAについて
セルA5に時間を入力します(例 18:30)
ボタンを押すと時間だけ8時間進むようにしたいです(上例 2:30)

DateAddでRange("A5")=Dateadd("h",8,Range"A5")とすると、表示上は2:30になるのですが、1900/1/1 2:30 のようになってしまいます。
そのまま2:30にはできないでしょうか?

閲覧数:
14
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

hot********さん

2019/3/2319:54:19

質問のプログラムの

>Range("A5")=Dateadd("h",8,Range"A5")

はエラーになります。
正しいのは

Range("A5") = DateAdd("h", 8, Range("A5"))

だと思いますが、その場合です。
日時の時間部分だけの

Range("A5") = TimeValue(DateAdd("h", 8, Range("A5")))

ではどうでしょうか。

質問した人からのコメント

2019/3/23 21:08:29

素晴らしいです!
書き込みミスの訂正をしていただいた上に、求めていた完璧な答えです!
本当に助かりました。ありがとうございますm(_ _)m

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

tai********さん

2019/3/2320:08:55

単純に、書式設定のことです。DateAddを使うのでyyyy/m/d h:mmにエクセルが勝手に設定します。それをh:mmに設定してあげるだけのこと、



Sub test()
With Range("A5")
.Value = DateAdd("h", 8, .Value)
.NumberFormatLocal = "h:mm"
End With
End Sub

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる