- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで日付と時刻の計算に困っています)
VBAで日付と時刻の計算に困っています
このQ&Aのポイント
- VBAを使用して日本の日付と時刻を欧州の日付と時刻に変換するマクロを作成したいです。
- 日本の日付と時刻が入力されているセルを選択し、マクロを実行することで欧州の日付と時刻に変更します。
- 時差である9時間を減算して、日付と時刻を変更する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一例ですが Range("A1").Value = Range("A1").Value - 9 / 24 といった簡単な方法もあります。 エクセルでは 数値の 1 を1日(24時間)の単位で計算していますので 9/24 が 9時間という事になります。 そのまま 引き算すれば、日付をまたいだ場合は前の日になりました。
その他の回答 (2)
noname#194317
回答No.2
ついでにマクロじゃなくて、以下のようにセルに値を入れて計算させても、No1回答者さんと同じ結果になりましたよ。なので私も、日付が変わらないのは何かがおかしいとしか思えないです。 セルA1 2011/6/12 6:00:00 セルA2 9:00:00 セルA3 =A1-A2(結果:2011/6/11 21:00:00)
質問者
お礼
型が違うセル同士でも計算が正しくできるのですね。 とても勉強になりました! ありがとうございます。 何が問題だったのかわからないのですが、前日にはエラーと表示されていたのに、 翌日に実行してみたら何の問題もなく動きました。 お騒がせしてしまい大変申し訳ありません。 ご丁寧にご回答いただきありがとうございました。
- papope
- ベストアンサー率33% (8/24)
回答No.1
こんにちは。 EXCEL2007で試しましたがDateAdd("h",-9,Sheet1.Cells(y,x)) でちゃんと前日になりましたが? どこかが、おかしいのだと思うのですが。 以上、ご参考まで。
質問者
お礼
何が問題だったのかわからないのですが、前日にはエラーと表示されていたのに、 翌日に実行してみたら何の問題もなく動きました。 お騒がせしてしまい大変申し訳ありません。 ご丁寧にご回答いただきありがとうございました。
お礼
そのような仕組みになっているとは知りませんでした。 いろいろな所で応用が利きそうな考え方ですね! 教えていただきありがとうございます。 何が問題だったのかわからないのですが、前日にはエラーと表示されていたのに、 翌日に実行してみたら何の問題もなく動きました。 お騒がせしてしまい大変申し訳ありません。 ご丁寧にご回答いただきありがとうございました。