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

サトウヨシヒロ

Excelを中心としたMicrosoft Officeの魔法使い。
仙台市在住のフリーランスのパソコンインストラクターです。
1969年1月生まれ。
Excelを黎明期から30年近く使っています。Wordも使えます。
出版社様と一緒にExcelの情報発信もしています。
最近は羊に夢中です。
2019年はRPAと業務効率化を勉強しています。

Twitterでも業務で使える便利なOffice技をめっちゃつぶやくツイッタラーです。@yosatonet

1件のコメント

  1. ( ^ω^ )

コメントを残す

メールアドレスが公開されることはありません。