第46回.VBA関数(日付,DateAdd)
データ型の中でも日付時刻はかなり特殊であり、関数の使用は必要不可欠になります。
ここでは、日付に関するVBA関数の一覧と、DateAdd関数について解説します。
DateAdd関数以外の他の関数は、一覧のリンクより個別のページを参照して下さい。
日付時刻に関するVBA関数の一覧
関数 | 説明 | 対応ワークシート関数 |
Date | 現在のシステムの日付の値を返す | ワークシート関数のTODAYと同じ |
Now | 現在の日付と時刻の値を返す | ワークシート関数と同じ |
Time | 現在のシステムの時刻の値を返す | |
Timer | 午前0時から経過した秒数を単精度浮動小数点数型で返す 1/100まで計測する場合に使用します。 |
|
Year | 年の値を返します | ワークシート関数と同じ |
Month | 1 年の何月かを表す 0~12 の範囲の値を返す | ワークシート関数と同じ |
Day | 月の何日かを表す 1~31 の範囲の値を返す | ワークシート関数と同じ |
Hour | 1 日の時刻を表す 0~23 の範囲の値を返す | ワークシート関数と同じ |
Minute | 時刻の分を表す 0~59 の範囲の値を返す | ワークシート関数と同じ |
Second | 時間の秒を表す 0~59 の範囲の値を返ます | ワークシート関数と同じ |
Weekday | 何曜日であるかの値を返す | ワークシート関数と同じ |
WeekdayName | 指定された曜日を表す文字列を返す | |
MonthName | 指定された月を表す文字列を返す | |
DatePart | 日付の指定した部分を含む値を返す | |
DateSerial | 引数に指定した年、月、日に対応する日付の値を返す | ワークシート関数のDATEと同じ |
DateValue | 日付を表す値を返す | ワークシート関数と同じです。 |
TimeSerial | 引数で指定した時、分、秒に対応する時刻の値を返す | ワークシート関数のTIMEと同じ |
TimeValue | 時刻を表す値を返す | ワークシート関数と同じです。 |
DateAdd |
指定された時間間隔を加算した日付の値を返す |
|
DateDiff | 2つの指定した日付の時間間隔の値を返す | ワークシート関数のDATEDIFと似てますが大きな違いがあります。 シートのDATEDIF関数は年齢計算に使用されますが、 VBAのDateDiff関数は直接的に年齢計算を行えません。 |
多くは対応するワークシート関数がありますので、ここでは説明を省略します。
対応するワークシート関数が解らない場合は、まずは、そちらを覚えてください。
直接的に対応するワークシート関数は無いですが、
マクロVBAで良く使うものとしてDateAdd関数があります。
DateAdd関数の構文
interval | 必ず指定します。 追加する時間間隔を表す文字列式を指定します。 |
number | 必ず指定します。 追加する時間間隔の数を表す数式を指定します。 将来の日時を取得するには正の数を指定します。 過去の日時を取得するには負の数を指定します。 |
date | 必ず指定します。 時間間隔を追加する日付を表すバリアント型 (内部処理形式 Date の Variant) の値またはリテラル文字列を指定します。 |
intervalに指定する文字列式
設定値 | 内容 |
yyyy | yyyy |
q | 四半期 |
m | 月 |
y | 年間通算日 |
d | 日 |
w | 週日 |
ww | 週 |
h | 時 |
n | 分 |
s | 秒 |
※大文字小文字は問いません。
DateAdd関数の使用例
Cells(1, 3) = DateAdd("m", 2, Cells(1, 1))
Cells(1, 4) = DateAdd("yyyy", 1, Cells(1, 1))
C1セルに、2021/11/10
D1セルに、2022/9/10
日付関数は、ワークシート関数と多くが同じようになっているので覚えやすいと思います。
特に事務処理では、日付の処理は避けて通れませんので、しっかりと覚えて下さい。
同じテーマ「マクロVBA入門」の記事
第43回.総合練習問題5
第44回.VBA関数について
第45回.VBA関数(Format)
第46回.VBA関数(日付,DateAdd)
第47回.VBA関数(文字列操作,Replace,InStr,StrConv)
第48回.VBA関数(その他,Fix,Int,Rnd,Round,IsEmpty)
第49回.Like演算子とワイルドカード
第50回.総合練習問題6
第87回.WorksheetFunction(ワークシート関数を使う)
第51回.Withステートメント
第52回.オブジェクト変数とSetステートメント
新着記事NEW ・・・新着記事一覧を見る
第5章:AI×VBAでつまづかない!トラブルシューティングとAIとの付き合い方
|生成AI活用研究(2025-05-20)
第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する!
|生成AI活用研究(2025-05-20)
第3章:AIを「自分だけのVBA先生」にする!質問・相談の超実践テクニック|生成AI活用研究(2025-05-19)
第2章 VBAって怖くない!Excelを「言葉で動かす」(超入門)|生成AI活用研究(2025-05-18)
第1章:AIって一体何?あなたのExcel作業をどう変える?(AI超基本)|生成AI活用研究(2025-05-18)
AI時代のExcel革命:AI×VBAで“書かない自動化”超入門|生成AI活用研究(2025-05-17)
Geminiと100本ノック 23本目:シート構成の一致確認|生成AI活用研究(5月16日)
AIが問う出版の未来は淘汰か進化か:AIと書籍の共存の道とは|生成AI活用研究(2025-05-16)
Geminiと100本ノック 22本目:FizzBuzz発展問題|生成AI活用研究(5月15日)
すぐに使える!生成AI プロンプト作成 実践ガイド|生成AI活用研究(2025-05-15)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.ひらがな⇔カタカナの変換|エクセル基本操作
6.RangeとCellsの使い方|VBA入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.FILTER関数(範囲をフィルター処理)|エクセル入門
10.条件分岐(Select Case)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。