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

VBAでフォームを作成しています。
本通りにDatediffを入力したのですが、確実な年齢がでてきません。
どうすれば宜しいですか?教えて頂けたらと思います。

ちなみにプロシージャは・・・
Private Sub Text生年月日_AfterUpdate()
Texr年齢.Value=Datediff("yyyy",Text生年月日.Value,Now())
よろしくお願いします。
 

A 回答 (2件)

#1です。


すみません、Datediff関数を理解していませんでした。
第一引数にyyyyを指定すると単純に年差を出すようですね。

つまり、誕生日がきてなくてもその年の12月31日時点での
満年齢が返されるということですね。

誕生日が来る前までは前年の年齢にしたいということであれば、
日数でDatediffを求めて、365で割ってやればいいと思います。
具体的には
Texr年齢.Value=Datediff("d",Text生年月日.Value,Now()) \ 365
で良いかと。
    • good
    • 0
この回答へのお礼

ありがとうございました。思っているとおりにできました。
説明不足もあり申し訳ございませんでした。

お礼日時:2012/05/24 13:53

>確実な年齢がでてきません。



とのことですが、何かエラーが出るのでしょうか?
それとも年齢とは異なる数字が出てくるのでしょうか?

Text生年月日.Valueの値はDate型ですか?
文章から見るとString型のような気がしますが…。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2012/05/24 13:53

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