VBA~ユーザーフォームにテキストボックスを設定しよう~Excel
ユーザーフォームにテキストボックスを設定する方法を解説します。
左のプロジェクトの中で右クリック、挿入にマウスを当てユーザーフォームをクリックするとフォームというフォルダが作成されUserForm番号というファイルが作成されます。
ファイルをクリックするとユーザーフォームが表示されます。
ツールボックスの上段のabマーク(テキストボックス)をクリックしユーザーフォームのテキストボックスを表示したい箇所でクリックするとテキストボックスが設定さます。ツールボックスが表示されていない場合はメニューの表示からツールボックスをクリックすると表示されます。
VBAで下のコードを実行すると作成したユーザーフォームが表示されます。
Sub test1() UserForm1.Show End Sub
テキストボックスにユーザー側で入力したデータをコマンドボタン等を押した時の処理に活用することができます。先ほど作成したUserForm1のファイルをクリックするとユーザーフォームが表示されます。
ツールボックスの下段のabマーク(コマンドボタン)をクリックしユーザーフォームのコマンドボタンを表示したい箇所でクリックするとコマンドボタンが設定さます。コマンドボタンを選択した状態でもう一度クリックすると入力カーソルが表示されるのでOKに書き換えます。
コマンドボタンをダブルクリックすると下のコードが表示されます。
Private Sub CommandButton1_Click() End Sub
ここに処理内容を書き込めばコマンドボタンをクリックしたときの処理を設定できます。今回は下のコードにコマンドボタンをクリックするとテキストボックスにユーザーが入力したデータをセルA1に表示する処理を書き込みました。
Private Sub CommandButton1_Click() Range("A1") = UserForm1("TextBox1").Text Unload UserForm1 End Sub
VBAで下のコードを実行すると作成したユーザーフォームが表示されテキストボックスに入力してOKをクリックするとセルA1に入力したデータが表示され、ユーザーボックスが閉じます。
Sub test1() UserForm1.Show End Sub