次の方法で共有

【VBAのマニアックな質問です】Dateserial関数の引数の年が2桁の場合の、西暦の認識が違う件について。

Anonymous
2021-05-16T14:40:55+00:00

こんにちは。表題の件について教えていただきたく質問させていただきます。

VBAのDateserial関数について、私が使用しているMicrosoft365では引数の「年」に2桁の数字を入れた場合、

「0 ~ 49は2000 ~ 2049 年、50 ~ 99は1950 ~ 1999 年」と認識されます。

しかしネットを見ていると、

「引数「年」が 2 桁の時に、0 ~ 29は2000 ~ 2029 年、30 ~ 99は1930 ~ 1999 年と認識される」というような説明が多く見受けられますが、

その認識をしていたExcelのバージョンについてご教示いただけましたら幸いです。

よろしくお願いいたします。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2021-05-17T04:28:43+00:00

> VBAのDateserial関数> 引数の「年」に2桁の数字を入れた場合、> 「0 ~ 49は2000 ~ 2049 年、50 ~ 99は1950 ~ 1999 年」と認識されます。

Windows 10 のコントロールパネルの地域設定の日付形式オプションにおいて、
[2 桁の数字で年を入力すると、次の範囲内での暦年として解釈する]オプション
設定(の既定値)がそのようになっているため、その設定通りの結果を返しているだけです。

> 「引数「年」が 2 桁の時に、0 ~ 29は2000 ~ 2029 年、> 30 ~ 99は1930 ~ 1999 年と認識される」というような説明が> 多く見受けられますが、

過去のバージョンの Windows においては、上記に相当するオプションの
既定値が 1930 から 2029 までという範囲だったためでしょう。
( Excel のバージョンの違いによるものではない)

この回答は役に立ちましたか?

0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2021-05-17T08:15:08+00:00

    > VBAのDateserial関数
    Windows 10 のコントロールパネルの地域設定の日付形式オプションにおいて、
    [2 桁の数字で年を入力すると、次の範囲内での暦年として解釈する]オプション
    設定(の既定値)がそのようになっているため、その設定通りの結果を返しているだけです。

    過去のバージョンの Windows においては、上記に相当するオプションの
    既定値が 1930 から 2029 までという範囲だったためでしょう。
    ( Excel のバージョンの違いによるものではない)

    早急かつご丁寧にご回答いただきありがとうございます!

    Excelではなく、Windowsのバージョンの違いによるものだったのですね。

    実際にWindowsの日付設定を変更しDateSerial関数を試したところ設定通りの結果を返しておりました。

    改めまして、ご回答いただきありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません