Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAのDay関数の戻り値を2桁にするには-Format関数

VBAのDay関数の戻り値を2桁にするには-Format関数

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

日付に関連した処理は、プログラミング初心者が戸惑うポイントのひとつです。

日付データの日付部分だけを2桁で取得したいという要望は、Excel VBA(Visual Basic for Applications)に限らずよくいただきます。

このサイト・インストラクターのネタ帳のアクセスログにも、
「excel vba day 2桁」
「vba day関数 dd」
といった検索キーワードが見られます。

VBAではDay関数で、

Day関数の戻り値を2桁にするには?-Format関数

日付データの日付部分を表す数値を取得できます。

この戻り値を2桁にするには、どうしたらいいのか調べていた方による検索キーワードが、
「excel vba day 2桁」
「vba day関数 dd」
です。

[スポンサードリンク]

Day関数で日付部分だけを取得する

まず、Day関数の動きを確認しましょう。

Sub Day関数で日付部分を取得()
 MsgBox Day(ActiveCell.Value)
End Sub

例えば、「2017/5/5」という日付データの入力されているセルがアクティブな状態で上記のSubプロシージャを実行すると、ActiveCell.Valueで取得した日付データ「2017/5/5」の日付部分を表す数値が取得され、メッセージボックスに「5」と表示されます。

「excel vba day 2桁」
「vba day関数 dd」
といった検索をなさった方は、このケースで「5」ではなく「05」を表示させたかったのでしょう。

Format関数で日付部分を2桁で取得する

書式を指定して取得する場合は、Day関数ではなくFormat関数を、

Day関数の戻り値を2桁にするには?-Format関数

使いましょう。

Sub Format関数で日付部分を2桁の文字列で取得()
 MsgBox Format(ActiveCell.Value, "dd")
End Sub

上記のSubプロシージャなら、先のマクロと同じ条件で「05」と表示されます。

Excelのワークシート上で、A1セルに入力された日付データから日付部分をdd形式の文字列で取得するには、TEXT関数を使って
「=TEXT(A1, "dd")」
という数式を入力します。

ワークシート関数のTEXT関数によく似ているのが、VBAのFormat関数です。

最終更新日時:2022-08-04 16:09

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAのDay関数の戻り値を2桁にするには-Format関数

「VBA関数」の記事一覧

検索


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

.