このサイト『インストラクターのネタ帳』のアクセスログを眺めていて、
「excel vba inputbox 初期値」
といった検索キーワードに気付きました。
簡単な入力用ダイアログボックス(インプットボックス)を表示するInputBox関数で、初期値を設定する方法を探していた方による検索です。
InputBox関数に初期値を設定するサンプルマクロ
以下のSubプロシージャが参考になるでしょう。
Dim ans As Variant ans = InputBox(Prompt:="数値を入力してください。", Default:=999)
MsgBox ans
End Sub
実行すると下図のように初期値「999」が設定された状態で、インプットボックスが表示されます。
InputBox関数には、
Prompt
Title
Default
XPos
YPos
HelpFile
Context
と引数を7つ指定でき、
第3引数で引数名「Default」のとおり初期値を設定できます。
InputBox関数の初期値に今日の日付を
「inputbox 初期値 today」
といった検索キーワードでのアクセスもあります。
こちらはInputBox関数の初期値として、今日の日付を表示したいということでしょう。
まず確認していただきたいのは、Excelのワークシート関数とVBA関数の違いです。
拙著『いちばんやさしいExcel VBAの教本』の、Lesson 23「ワークシート関数とVBA関数との違いを意識きましょう」でも書いたとおり、VBAで今日の日付を取得する関数はTODAYではなくDateです。
ですから、先のプロシージャで、
ans = InputBox(Prompt:="日付を入力してください。", Default:=Date)
と指定すれば、下図のように今日の日付が初期値として設定されたインプットボックスが表示されます。
- Newer:論理値とは
- Older:VBAでスライドショーをアクティブに
Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » InputBox関数の初期値