\

VBA Date型の計算(足し算と引き算)

VBAで日付の足し算や引き算をする方法をまとめてみました。

たとえば、2021年5月17日の7日後は何日か?簡単に暗算できれば2021年5月24日って答えられるかもしれませんが、これをVBAでプログラミングするには、DateAdd関数を使います。

DateAdd関数

DateAdd関数は以下の引数をもちます。

  • interval : 加算する時間間隔を表す文字列です。
  • number : 加算する数字(マイナスでもOK)
  • date : 加算する日付(Date型)

以下のように、引数3つを指定してDateAdd関数を使用します。

1
2
3
4
Dim DateValue1 As Date
DateValue1 = #2/29/2020 10:00:00 AM#

MsgBox dateadd("yyyy", 1, DateValue1)

加算する時間間隔を表す文字列

説明 実行例
yyyy dateadd(“yyyy”, 1, #2/29/2020 10:00:00 AM#) = 2021/02/28 10:00:00
q 四半期 dateadd(“q”, 1, #2/29/2020 10:00:00 AM#) = 2020/05/29 10:00:00
m dateadd(“m”, 1, #2/29/2020 10:00:00 AM#) = 2020/03/29 10:00:00
y 通年での日数 dateadd(“y”, 1, #2/29/2020 10:00:00 AM#) = 2020/03/01 10:00:00
d dateadd(“d”, 1, #2/29/2020 10:00:00 AM#) = 2020/03/01 10:00:00
w 平日 dateadd(“w”, 1, #2/29/2020 10:00:00 AM#) = 2020/03/01 10:00:00
ww dateadd(“ww”, 1, #2/29/2020 10:00:00 AM#) = 2020/03/07 10:00:00
h dateadd(“h”, 1, #2/29/2020 10:00:00 AM#) = 2020/02/29 11:00:00
n dateadd(“n”, 1, #2/29/2020 10:00:00 AM#) = 2020/02/29 10:01:00
s dateadd(“s”, 1, #2/29/2020 10:00:00 AM#) = 2020/02/29 10:00:01

返却される日付の表示形式はコントロールパネルの「地域」設定値によって決まる

上記の例では yyyy/MM/dd H:mm:ssですが、これはコントロールパネルの「地域」から取得されます。

この設定を変更することで表示形式を変更可能ですが、変更したい場合はFormat関数の使用を検討しましょう。

コメントシステムを導入しました!コメント頂けると嬉しすぎて、光の速さで返信します(●´ω`●)

速攻でメモできる QuickNote リリースしました!

QuickNoteは動作が超軽量でサクサクかけるノートアプリです。一瞬の閃きを逃さずにノートを開き書き始めることができます。 アカウント登録も不要です。お試しあれ!

Excel操作をコマンドで! proBoarderExcel

Excelはマウスで操作するのが基本ですが、マウス操作に疲れてはいませんか? キーボードでExcel操作ができるようになるアプリです。オープンソースで無料です。

積み上げ! Daily Stack リリースしました!

Daily Stack は日々の積み上げを管理するToDoアプリです。過去の積み上げの振り返りだけでなく、ツイート機能もあります。 アカウント登録不要ですぐに使い始めることができます。

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱