gooサービスにログインしづらい事象について

29日後の日付を知りたくて、DateAdd関数を使いました。

支払日=DateAdd("D",30,事故日) '事故日="2018/7/7"

を実行すると、自分のパソコン(Windows10,Excel2010)では、
支払日="2018/8/6(金)"
と曜日がつくのに、友人のパソコンでは同じ環境なのに、曜日がつかない
 支払日="2018/8/6"
となります。
どうして結果が違うのでしょうか?

質問者からの補足コメント

  • 設定で確認しましたら、日付(短い形式)が私のPCでは”2018/07/09(月)”、友人のでは "2018/07/09" でした。
    どちらも設定したり、変更した覚えがないのですが・・・。
    Date も確認しましたら、同じでした。プログラムではどんな機種で実行されるかわからないときは、どちらでもいいように判定しないといけないですね。困ったものですね。関数では引数にどちらを戻り値にするか指定できるといいですね。
    何か判定できるものはないのですか?
    後、疑問なのは設定で日付(短い形式)の変更ができるとあるので種類をみると、曜日のついた形式がありません。
    曜日をつけたい場はどうするのでしょうか?
    とりあえず、何が原因なのかわかってほっとしています。ありがとうございました。
    しかし疑問が残っていて気分が悪いです。
    新しい疑問の回答をお願いできたら幸いです。

    No.2の回答に寄せられた補足コメントです。 補足日時:2018/07/10 18:03
  • シリアル値を介してすれば、なんら設定の影響をうけず、問題はないのですね。
    マクロを作成する手立ては大変よくわかりました。ありがとうございます。
    やはり疑問なのが私のPCでは、日付(短い形式):2018/7/13(金) と設定されているのですが、「日付と時刻を変更する」で曜日なしに変更したくても、 yyyy/MM/dd を選んでも曜日が取れず、
    yyyy/MM/dd( aaa) もありません。
    友人のPCでも 日付(短い形式):2018/7/13 と設定されているのですが、曜日を付加する
    yyyy/MM/dd( aaa) はありません。
    これが理解できません。教えてください。

    No.3の回答に寄せられた補足コメントです。 補足日時:2018/07/13 20:30

A 回答 (4件)

Windowsの設定にかかわらず、DateAdd関数の戻り値はシリアル値です。


それを表示するときにWindowsの設定が使われているのです。
    • good
    • 0
この回答へのお礼

Windowsの設定で表示が変わることはわかりました。
ありがとうございました。
ただ設定でそれを変更できないのは疑問です。

お礼日時:2018/07/13 20:27

Windowsの設定を判定するのではなくて、VBAの中で形式を明示的に設定すれば、少なくともWindowsの設定に左右されることはなくなるかと。



例)
事故日 = DateSerial(2018, 7, 7)
支払日 = DateAdd("D", 30, 事故日)
支払日x = Format(支払日, "yyyy/mm/dd")
MsgBox ("yyyy/mm/dd " & 支払日x)
支払日x = Format(支払日, "yyyy/mm/dd(aaa)")
MsgBox ("yyyy/mm/dd(aaa) " & 支払日x)
支払日x = Format(支払日, "yyyy年mm月dd日(aaa)")
MsgBox ("yyyy年mm月dd日(aaa) " & 支払日x)
支払日x = Format(支払日, "yyyy年m月d日(aaaa)")
MsgBox ("yyyy年m月d日(aaaa) " & 支払日x)
この回答への補足あり
    • good
    • 0

コントロールパネル→地域と言語→形式→日付(短い形式)


を確認してみましょう。
この回答への補足あり
    • good
    • 0
この回答へのお礼

設定で確認しましたら、日付(短い形式)が私のPCでは”2018/07/09(月)”、友人のでは "2018/07/09" でした。
どちらも設定したり、変更した覚えがないのですが・・・。
Date も確認しましたら、同じでした。プログラムではどんな機種で実行されるかわからないときは、どちらでもいいように判定しないといけないですね。困ったものですね。関数では引数にどちらを戻り値にするか指定できるといいですね。
何か判定できるものはないのですか?
後、疑問なのは設定で日付(短い形式)の変更ができるとあるので種類をみると、曜日のついた形式がありません。
曜日をつけたい場はどうするのでしょうか?
とりあえず、何が原因なのかわかってほっとしています。ありがとうございました。
しかし疑問が残っていて気分が悪いです。
新しい疑問の回答をお願いできたら幸いです。

お礼日時:2018/07/09 20:35

セルの書式設定は同一なの?

    • good
    • 0

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


おすすめ情報