Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Application.InputBoxに今日の日付を初期値として表示する

Application.InputBoxに今日の日付を初期値として表示する

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

「vba application inputbox 本日」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

今日の日付を、Excel VBAのApplication.InputBoxメソッドで表示されたインプットボックスに、初期値として表示させる方法を探していた方による検索キーワードでしょうか。

[スポンサードリンク]

Application.InputBoxに今日の日付を初期値として表示するサンプルマクロ

以下のような引数指定で、「yyyy/mm/dd」という書式で、今日の日付をApplication.InputBoxメソッドの初期値として表示できます。

Sub Application_InputBoxの初期値に今日の日付を表示する()
 Dim dtm As String

 dtm = Application.InputBox( _
   Prompt:="日付を入力してください。", _
   Default:=Format(Date, "yyyy/mm/dd"), _
   Type:=2)

 If IsDate(dtm) Then
  MsgBox dtm & " が入力されました。"
 Else
  MsgBox "入力されたのは日付ではありません。"
 End If
End Sub

サンプルマクロの解説

今日の日付を初期値として表示させているのは、
 dtm = Application.InputBox( _
   Prompt:="日付を入力してください。", _
   Default:=Format(Date, "yyyy/mm/dd"), _
   Type:=2)
の、引数・Defaultに指定した「Format(Date, "yyyy/mm/dd")」です。

VBAではDate関数で、今日の日付を取得できますから、
   Default:=Date
だけでも今日の日付を表示させられますが、この指定では「m/d/yyyy」といった形式になってしまうので、Format関数を組み合わせています。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Application.InputBoxに今日の日付を初期値として表示する

「Applicationオブジェクト」の記事一覧

検索


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

.