今回はユーザーフォームのパーツの一種である、テキストボックスとボタンを利用していきます。
ユーザーフォームのテキストボックスに文字列を入れて、ボタンを押すと、アクティブセルに
文字列を入力するというものを作ってみましょう。
■ユーザーフォームへテキストボックスとボタンの配置
1.まずは、ユーザフォームを開きます。
もし、ツールボックスが表示されていない場合は、以下から表示することができます。
2.テキストボックスを配置します。ツールボックスからテキストボックスを選択して、
ユーザーフォームへ配置します。
3.コマンドボタンを配置します。ツールボックスからコマンドボックスを選択して、
ユーザーフォームへ配置します。
4.配置したパーツの大きさを自分のお好みで適宜変更していきます。
5.コマンドボタンに表示されている文字列を変更します。コマンドボタンを選択して、
以下のCaptionにある文字列を変更していきます。今回は、入力とします。
6.フォントから文字のサイズを変更して、スタイルを太字にします。
ここらへんもお好みでやってください。
これで、ユーザーフォームは完成です。
マクロですが、今回は標準モジュールへの記述ではありません。
なぜなら、ボタンを押した時の挙動を記述していくからです。
どこに記述するかというと、今回配置したコマンドボタンをダブルクリックすると、
コードを記述する画面が出てきます。
Private Sub CommandButton1_Click()
※ここにコードを記述。
End Sub
■回答
Private Sub CommandButton1_Click()
ActiveCell.Value = TextBox1.Text
End Sub
■解説
今回書くのはたったの1行です。
どちらかというと、ユーザーフォームの配置の方がメインですね。
TextBox1.Textから、先ほど配置したテキストボックスに入力した値を
取得することができます。
ただ、このままではユーザーフォームが呼び出せませんので、
標準モジュールに呼び出すマクロを記述しましょう。
UserForm1.Showと記述するだけでOKです。
実行結果は以下です。
ユーザーフォームを呼び出すマクロを実行し、テキストボックスにこんにちはと入力しました。
そのうえで、入力ボタンを押します。