OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Date関数で書いた日付がおかしい

  • すぐに回答を!
  • 質問No.230368
  • 閲覧数662
  • ありがとう数2
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 33% (12/36)

VBAでエクセルのフォームを作成しています。
Date関数を使って、セルに直接日付を入力している箇所が2箇所あるのですが、そのうちの1箇所だけが12年ずれてしまいます。(2002/3/6→1990/3/6)
また、これは使用するマシンの環境によっても異なるのか、発生するマシンとしないマシンがあります。
ちなみに、試したのは下記のとおりです。(カッコ内は調査台数)
 ・Win2000/Excel2000=問題なし(1台)
 ・Win2000/Excel97=問題なし(1台)
 ・WinNT/Excel2000=問題なし(2台)
 ・WinNT/Excel97=上述の問題あり(5台)
アプリケーション要因かとも思うのですが、おかしいのは2箇所のうち1箇所だけなのも引っ掛かります。

どうしたら直るのでしょう?
どなたか、お助けください。m(__)m
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル7

ベストアンサー率 50% (7/14)

同じようなことかな?と思いひとこと。

Windowsの日付には短い形式、長い形式があり、
短い形式を'yy/mm/dd'とすると、
あるプログラムが異常になることがありました。
見てはいかが?
関係なかったらごめんなさい。
お礼コメント
yoshiyoshi

お礼率 33% (12/36)

Windows側の設定だったんですね。
VBAやExcelにばかり目が行き、気付きませんでした。
解決です。ありがとうございました。
m(__)m
投稿日時 - 2002-03-14 07:50:04
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル8

ベストアンサー率 48% (23/47)

1.WinNt, Excel97のSP/SRの適応状況及び、Y2Kパッチの当て具合をまず御確認下さい。 2.問題が無ければ、代入する直前に、BreakPointを設定して、代入する値の確認を行うお願いします。 一般に上記2つを確認する事で、解決すると思います。 ...続きを読む
1.WinNt, Excel97のSP/SRの適応状況及び、Y2Kパッチの当て具合をまず御確認下さい。
2.問題が無ければ、代入する直前に、BreakPointを設定して、代入する値の確認を行うお願いします。
一般に上記2つを確認する事で、解決すると思います。
補足コメント
yoshiyoshi

お礼率 33% (12/36)

1.は次のとおりです。
 Win2000/SP2
 WinNT/SP6a
 Excel2000/SP-2
 Excel97/SR2
どれも最新のパッチですよね?(少なくともY2K問題はないはずです)

2.も既に確認済みで、問題のある箇所は、代入される時点でおかしな値です。

質問にも書きましたが、同じフォームの中で1箇所は正規の値が代入され、もう1箇所は間違った値になるのは何故なんでしょう?
投稿日時 - 2002-03-07 07:58:47
お礼コメント
yoshiyoshi

お礼率 33% (12/36)

早々からのご回答、ありがとうございました。
おかげさまで解決いたしました。
投稿日時 - 2002-03-14 07:51:10


  • 回答No.2
レベル8

ベストアンサー率 48% (23/47)

追伸: 恐らく、和暦として扱われていると思います。Date関数で競っているする年の所を4桁にすれば開家鶴すると思います。 機械が"2/3/6"を勝手に"平成2年3月6日"と扱っているのだと考えられます。 参考URLの一番下のほうQ&Aが回答になりませんか? ...続きを読む
追伸:
恐らく、和暦として扱われていると思います。Date関数で競っているする年の所を4桁にすれば開家鶴すると思います。
機械が"2/3/6"を勝手に"平成2年3月6日"と扱っているのだと考えられます。
参考URLの一番下のほうQ&Aが回答になりませんか?
補足コメント
yoshiyoshi

お礼率 33% (12/36)

お手数をおかけいたしております。m(__)m
桁数に関しては、いろんなところで2桁だと問題が起こる可能性が高いことを聞いてましたんで、4桁で入力するようにしています。
投稿日時 - 2002-03-07 08:35:46
  • 回答No.4
レベル8

ベストアンサー率 48% (23/47)

”12年”前の日付が入るということは、どこかで和暦に変更されているしか考えられません。 参考URL中の [Excel97] 日付の 2 桁入力と和暦入力について [Excel97] 日付をコピー貼り付けすると誤って入力される ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [Excel97]Excel 97 日付関数検査ウィザード [ ...続きを読む
”12年”前の日付が入るということは、どこかで和暦に変更されているしか考えられません。
参考URL中の

[Excel97] 日付の 2 桁入力と和暦入力について
[Excel97] 日付をコピー貼り付けすると誤って入力される
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Excel97]Excel 97 日付関数検査ウィザード
[Excel97]Excel 97 日付入力監視ウィザード

等の情報を確認されたらいかがでしょうか。
特に2番目のものが怪しいのではと思うのですが。
(プログラム中で、複数のシート間でコピ・ペしており、かつ、ペースト時にコピー元のシートを閉じているとエラーが発生する...の記載があります)

また、1番目の記事のレジストリのどちらが適用されているか確認されることも必要かと思います。

これ以上は、ソースを見ないと判りません。

お役に立てなければすみません
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ