割とVBAではmsgboxというメッセージで何かを表示したりすることはあると思うんです。
割とmsgboxも便利で、OKだけじゃなくて、はい、いいえの選択肢を出して、その戻り値がはいの場合なら、いいえの場合ならと分岐させることもできます。
でも、できるのは、はい、いいえ、もうひとつのキャンセルの場合の制御のみです。
実際に任意のデータを入力させるために使うのがInputboxです。
Inputboxの書式
VBAにおけるInputboxの書式は次の通りです。
戻り値を受け取る変数=Inputbox(メッセージ)
もしくは
戻り値を受け取る変数=Inputbox(メッセージ,ボックスに表示するタイトル)
です。
実際の使い方
実際の使用例は次のような感じです。
Range(“A1”).Value = InputBox(“入力してね”, “入力”)
これでセルA1に入力してねのメッセージで入力したものを入力します。
Range(“A1”).Value = InputBox(“入力してね”, “入力”) & “を入力したね”
で、セルA1に入力したものに「を入力したね」を付け足したものを入力します。
For i = 1 To InputBox(“入力してね”, “入力”)
繰り返す動作
Next
これで動作回数を指定できます。
追記
Forループの繰り返し回数の変数は普通Int型などの整数型で指定するのですが、Inputbox自体は文字列型なので、VBA的には自動で型変換されるのでそのまま動きますけど、正式にはCIntでInt型に置き換えるべきなので、次のように実装した方がより安全です。
For i = 1 To CInt(InputBox(“入力してね”, “入力”))
繰り返す動作
Next
TwitterでSakuraiさんに教えていただきました!ありがとうございました!!
コメント
( ^ω^ )