0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Q21.ユーザーフォームでテキストボックスとボタンを利用するには?

Posted at

今回はユーザーフォームのパーツの一種である、テキストボックスとボタンを利用していきます。

ユーザーフォームのテキストボックスに文字列を入れて、ボタンを押すと、アクティブセルに
文字列を入力するというものを作ってみましょう。

■ユーザーフォームへテキストボックスとボタンの配置

1.まずは、ユーザフォームを開きます。
もし、ツールボックスが表示されていない場合は、以下から表示することができます。
Q21-1.png

2.テキストボックスを配置します。ツールボックスからテキストボックスを選択して、
ユーザーフォームへ配置します。

Q21-2.png

3.コマンドボタンを配置します。ツールボックスからコマンドボックスを選択して、
ユーザーフォームへ配置します。

Q21-3.png

4.配置したパーツの大きさを自分のお好みで適宜変更していきます。

Q21-4.png

5.コマンドボタンに表示されている文字列を変更します。コマンドボタンを選択して、
以下のCaptionにある文字列を変更していきます。今回は、入力とします。

Q21-5.png

6.フォントから文字のサイズを変更して、スタイルを太字にします。
ここらへんもお好みでやってください。

Q21-6.png

これで、ユーザーフォームは完成です。
マクロですが、今回は標準モジュールへの記述ではありません。
なぜなら、ボタンを押した時の挙動を記述していくからです。

どこに記述するかというと、今回配置したコマンドボタンをダブルクリックすると、
コードを記述する画面が出てきます。

Private Sub CommandButton1_Click()
※ここにコードを記述。
End Sub

■回答

Private Sub CommandButton1_Click()
ActiveCell.Value = TextBox1.Text
End Sub

■解説

今回書くのはたったの1行です。
どちらかというと、ユーザーフォームの配置の方がメインですね。
TextBox1.Textから、先ほど配置したテキストボックスに入力した値を
取得することができます。

ただ、このままではユーザーフォームが呼び出せませんので、
標準モジュールに呼び出すマクロを記述しましょう。

UserForm1.Showと記述するだけでOKです。

実行結果は以下です。

適当なセル(今回はB2セル)を選択します。
Q21-7.png

ユーザーフォームを呼び出すマクロを実行し、テキストボックスにこんにちはと入力しました。
そのうえで、入力ボタンを押します。
Q21-8.png

B2セルへ"こんにちは"と入力することができました。
Q21-9.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?