top of page

​タグ一覧

配列処理(73)

階層化フォーム(33)

ファイル操作(28)

開発事例(22)

シート・セル操作(18)

図形操作(13)

コード自動生成(10)

ユーザーフォーム(9)

文字列操作(8)

設計思想(7)

開発効率化(6)

数学(6)

GAS(5)

アニメーション(5)

技術解説(4)

講座実施報告(5)

イミディエイトウィンドウ(4)

Googleスプレッドシート(4)

副業(4)

クリップボード(4)

条件付き書式(4)

その他(4)

ココナラ(3)

小説(3)

HTML(3)

JavaScript(3)

OneDrive(2)

イベントプロシージャ(2)

Enum(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Outlook(2)

介護(2)

Discord(2)

シフト表(2)

LookerStudio(2)

日報(2)

カレンダー(2)

罫線(2)

パズル(2)

小ネタ(2)

コード解説(2)

クラスモジュール(2)

ステータスバー(1)

コード解析(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

溶接ロボット(1)

保育士(1)

楽天市場(1)

経理(1)

医療(1)

文書作成(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

放課後等デイサービス(1)

児童福祉支援(1)

学校(1)

UI(1)

CAD(1)

カーソル操作(1)

CalAgeFromBirth|生年月日から正確な年齢を計算 | Excel VBA

更新日:1月4日

CalAgeFromBirth|生年月日から正確な年齢を算出 | Excel VBA

<概要 (年齢 計算 VBA)

CalAgeFromBirth は、生年月日(Date型)を引数として受け取り、

今日の日付を基準に「満年齢」を正確に計算する Excel VBA 用の汎用プロシージャです(年齢 計算 VBA)。


DateDiff("yyyy") だけでは誕生日を迎えていない場合でも年齢が加算されてしまうため、

本プロシージャでは「今年の誕生日を迎えているかどうか」を DateSerial で判定し、

未到達の場合は年齢を 1 歳減算するロジックを採用しています。


名簿管理、従業員情報、顧客管理、アンケート集計など、

年齢を扱う多くの業務でそのまま再利用できる安全性の高い関数です。


<実行サンプル>


 実行サンプルの実行結果は次の通りとなります。本日(2025年12月31日)での計算結果となります。

イミディエイトウィンドウの実行結果
イミディエイトウィンドウの実行結果

実行結果では、それぞれの生年月日に対して

「今日時点での満年齢」がイミディエイトウィンドウに表示されます。


誕生日をすでに迎えている場合は DateDiff の結果そのままの年齢が返り、

誕生日がまだ来ていない場合は 1 歳差し引かれた値が返されます。


これにより、単純な年数差ではなく、

実務で必要とされる「正確な年齢計算」が実現できます。


<関連記事>

今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。

コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


<実装例>


<コード>


Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

Softex-Celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page