第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入門」の記事
第47回.VBA関数(文字列操作,Replace,InStr,StrConv)
新着記事NEW ・・・新着記事一覧を見る
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.ブック・シートの選択(Select,Activate)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。