Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAで今日の日付を返す関数は?−Date関数

VBAで今日の日付を返す関数は?−Date関数

対象:Excel2002, Excel2003, Excel2007, Excel2010

このサイト・インストラクターのネタ帳で
「VBA 今日の日付」
「VBA TODAY ない」
といった検索が行われているのに気づきました。

Excelをある程度使える方で、VBA(Visual Basic for Applications)に挑戦しはじめた方による検索でしょう。

Excelのワークシート関数がある程度使えるようになり、VBAに挑戦しはじめた方が戸惑うポイントの一つが、関数名の違いです。

今日の日付を取得する関数の違いは、その代表的なものの一つです。

今日の日付を返すExcelのワークシート関数といえば、TODAY関数ですが、VBAの場合Todayといった関数はありません。

[スポンサードリンク]

VBAで今日の日付を返す関数は、TODAYとは違う名称がつけられています。


▼今日の日付を返すVBA関数
Date関数

Excelのワークシート関数でDATEは、年・月・日を指定すると、それに対応するシリアル値を返してくれる関数です。
まったく同じ綴りの関数・Dateが、VBAで今日の日付を返してくれる関数なのです。

Sub TEST()
 MsgBox Date
End Sub
といったマクロを作って実行したり、
イミディエイトウィンドウで
 msgbox date
というコードを実行してみれば、今日の日付がメッセージボックスで表示され、Date関数がVBAで今日の日付を返す関数であることを確認できるでしょう。

なお、ワークシート関数DATEと同じ動きをするVBAの関数は、DateSerial関数です。

ユーザーからすれば、同じExcelで、ワークシート関数とVBA関数とがなぜ違うのか疑問に感じてしまうかもしれませんが、別の進化をとげてきた、表計算ソフトとしてのExcelと、Excelのマクロ機能が融合しているのが現在のExcelの姿ですから、仕方のないことなのです。

元々別のものが一つになっているので、違っているのが当然のことで、たまたま同じ名前で同じような結果を返す関数があると考えていただくほうがいいんじゃないかと思います。

ちなみに、現在の日付と時刻を返す関数が、珍しく合致している関数の代表格で、ワークシート関数もVBA関数いずれも「now」です。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAで今日の日付を返す関数は?−Date関数

TrackBack:4

TrackBack URL
マクロで日付書式を設定・変更する from インストラクターのネタ帳
Excel(エクセル)マクロで、日付を年号の含んだ和暦表示にするには、NumberFormatLocalプロパティで書式を設定します。
今日の日付をファイル名にしてCSV保存するExcelマクロ from インストラクターのネタ帳
今日の日付をyyyymmddという形のファイル名にして、CSVで保存をするExcel(エクセル)マクロをご紹介しています。
シート名を日時に変更する・シート名に日付を追加するExcelマクロ from インストラクターのネタ帳
アクティブシートの名前を現在の日時に変更したり、元のシート名に今日の日付を追加したりするExcel(エクセル)マクロをご紹介しています。
VBAで今日の日付をyyyymmdd形式で取得する-Date・Format関数 from インストラクターのネタ帳
Date関数とFormat関数を使って、今日の日付をyyyymmdd形式で取得するサンプルマクロをご紹介しています。
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAで今日の日付を返す関数は?−Date関数

「VBA関数」の記事一覧

検索

Copyright © インストラクターのネタ帳 All Rights Reserved.

.