VBAで、入力設定してほしいものはInputboxで

割と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さんに教えていただきました!ありがとうございました!!

コメント

  1. 匿名 より:

    ( ^ω^ )

タイトルとURLをコピーしました