アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (4件)

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



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

Windows側の設定だったんですね。
VBAやExcelにばかり目が行き、気付きませんでした。
解決です。ありがとうございました。
m(__)m

お礼日時:2002/03/14 07:50

”12年”前の日付が入るということは、どこかで和暦に変更されているしか考えられません。


参考URL中の

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

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

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

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

お役に立てなければすみません

参考URL:http://www.hitachi.co.jp/Prod/comp/OSD/y2k/pc_so …
    • good
    • 0

追伸:


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

参考URL:http://www2s.biglobe.ne.jp/~iryo/vba/y2k/y2k2.html

この回答への補足

お手数をおかけいたしております。m(__)m
桁数に関しては、いろんなところで2桁だと問題が起こる可能性が高いことを聞いてましたんで、4桁で入力するようにしています。

補足日時:2002/03/07 08:35
    • good
    • 0

1.WinNt, Excel97のSP/SRの適応状況及び、Y2Kパッチの当て具合をまず御確認下さい。


2.問題が無ければ、代入する直前に、BreakPointを設定して、代入する値の確認を行うお願いします。
一般に上記2つを確認する事で、解決すると思います。

参考URL:http://www.microsoft.com/JAPAN/support/tdoc/y2k/ …

この回答への補足

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

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

質問にも書きましたが、同じフォームの中で1箇所は正規の値が代入され、もう1箇所は間違った値になるのは何故なんでしょう?

補足日時:2002/03/07 07:58
    • good
    • 0
この回答へのお礼

早々からのご回答、ありがとうございました。
おかげさまで解決いたしました。

お礼日時:2002/03/14 07:51

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