2018年5月31日VBAVBAで生年月日から年齢を求める方法VBAで生年月日から年齢を求める方法には以下の2通りあります。ワークシート関数のDATEDIF関数を使う方法VBA関数のDateDiff関数を使う方法どちらでもいいです。ワークシート関数を使う方法にはWorksheetFunctionプロパティを利用する方法もありますが、WorksheetFunctionプロパティにDateDif関数が存在しないため利用できません。ワークシート関数のDateDif関数を使う方法Application.Evaluateメソッドを使ってワークシート関数のDATEDIF関数を実行します。DATEDIF関数から直接年齢が算出できるためコードが単純になります。Functionワークシート関数を使う方法については「VBAからExcelのワークシート関数を使う」をご参照ください。Date型の変数の差から年齢を求める方法VBA関数のDateDiff関数を使って年齢を求めます。DateDiff関数で年齢を求めるには工夫が必要です。DateDiff関数は年度の差を算出しますので、2017/12/31と2018/1/1のように365日経ってなくても年が変わったら1年としてカウントします。その問題を回避するために引数の月日が処理日の月日に達しているかをチェックし、未達であれば年数を減らしています。上の2つの年齢計算関数はどちらも同じ使い方になります。Excel作業をVBAで効率化シェアお問合わせTOPへ。