企業研修講師派遣のBESTグループ
出張パソコン教室ITスクール
webコンサルティングスクール
パソコンの家庭教師BEST

Home Excel(エクセル) ポップアップでデータを入力する。

Q.前回、ポップアップでメッセージを表示する方法をお尋ねした者です。MsgBox関数、便利に使っていますが、使っているうちにデータ入力もポップアップのウィンドウから入力できないかと思い始めました。もちろん、シート上に入力領域を作っても良いのですが、そうするとやはり入力途中データもシート上に残ってしまいますので。同じような関数はあるでしょうか。

 

A.はい。このような場合には、InputBoxという関数が用意されています。こちらの説明を致しましょう。

こちらもまずは実物を見て頂きましょう。シート上にボタンを貼り付け、このプロシージャに以下のコードを記述して下さい(ボタン名は「ボタン1」とします)※。これがどのような処理を行うか想像できますか。

※補足:「開発」タブで「デザインモード」を選択した後、「挿入」からボタンのアイコンを選ぶ。シート上に配置したら「マクロの登録」が自動的に表示されるので、そこから「ボタン1_Click()」を選択する。

Sub ボタン1_Click()
Cells(1, 1).Value = InputBox(“年齢を入力して下さい”)
End Sub

もうだいたいおわかりですね。入力した値(これは年齢を想定)を、Cells(1,1)、すなわちA1セルに入力します。InputBox関数によって、ポップアップの入力ウィンドウが開きます。どのような表示になるかはご確認下さい。

さて、ここまでで単純なデータの入力はできます。次はちょっと応用してみましょう。
今回、入力したいデータは年齢ですので、数値です。従って、文字が入力できるようであってはデータとして相応しくありません。
InputBoxには、数値に限定して入力するパラメータを指定することが可能です。

Sub ボタン1_Click()
Cells(1, 1).Value = Application.InputBox(“年齢を入力して下さい”,Type:=1)
End Sub

以前のコードとの違いがわかりましたか?InputBoxの前にApplication.があるのと、パラメータに Type:=1 が指定されています。
これにより、数値入力のみ可能となります。
(文字を入力すると、エラーとなります。どのような表示となるかは、コードを実行して確認して下さいね)

さらに、前回MsgBoxでご説明した、InputBoxの表示メッセージに改行を入れることももちろん可能です。

Sub ボタン1_Click()
Cells(1, 1).Value = Application.InputBox(“年齢を入力して下さい” & vbcr & “(数字のみ入力可)”,Type:=1)
End Sub

このように、文字に関するやり方は、たとえ関数が異なっても同じように適用できることが多いです。(VBAでは「文字列型」と認識する部分のため)

 

ご質問や感想は上記からコメントをお願い致します

返信を残す