1.ユーザーフォームとは
ユーザーフォームとは、 エクセルのワークシートに入力したデータを表示、編集できるものです。
ここにさまざまな機能を追加することで、その人の用途に合わせた使い方ができる便利な機能です。
ユーザーフォームは開発画面からメニューバーの(挿入)→(ユーザーフォーム)を選択することで作成することができます。
(ユーザーフォーム画面)
この画面がユーザフォームの基本となり、これを土台として自由にカスタマイズします。
ユーザーフォームをカスタマイズする為に、ツールボックスという箱から機能を自由に置いていきます。このツールボックスは、 ユーザーフォームを開くと自動的に開きますが、閉じてしまった場合は、(表示)→(ツールボックス)の手順で表示できます。
(ツールボックス画面)
このように、ツールボックスには多くの機能がありますが、ここでは、主に使われるラベル、テキストボックス、コマンドボタン、オプションボタンの4種類について説明します。
(カスタマイズされたユーザーフォーム例)
これら4つの機能を使うとこのような形に編集することができます。
ではひとつひとつの機能を見ていきましょう。
2.ユーザーフォームの機能
1 ラベル
ラベルは入力した文章(主にタイトルや説明分など)を表示することができます。
(ラベル画面)
ラベルは、このAのマークをクリックして追加します。ラベルに入力した文字は、ユーザーフォーム上では常に表示されます。
単語学習プログラムでは、「モードを選択してください」や「日本語を英語に直してください」といった指示が、ラベルを利用して表示されます。(図4、5を参照)
プログラム上でラベル内を編集したい場合
Label1.Caption = “モードを選択してください” やLabel2.Caption= Cells(1,1)
のように使いたいラベル名と.Captionを用います。
上の例ではLabel1には「モードを選択してください」という文章が、Label2にはエクセルワークシートのA1セルの内容が表示されます。
2 テキストボックス
テキストボックスは自由に文字や文章を入力、編集することができます。
主に文字を打ち込む場所になります。
(テキストボックス画面)
テキストボックスは、このabマークをクリックして追加します。すると文字を入力するための白い空欄が表示され、回答されるであろう文字数に応じて大きさを変えていきます。(ドラック)
単語学習プログラムでは、回答をキーボードで打ち込んでもらう場所になります。(図4参照)
テキストボックスをプログラム上で編集するにはLabelと異なり
Textbox1.Text = Cells(1,2)
といったように、「Text」を用います。
テキストボックスは画面上で自由に文字を入力できるためプログラム上で用いるのは単語学習の答え合わせなどが主となります。
3 コマンドボタン
コマンドボタンはクリックするたびに所定のプログラム(コード)を実行することができます。
(コマンドボタン画面)
コマンドボタンは、この矢印のマークをクリックして追加します。
単語学習プログラムでは、テキストボックスに入力した答えの解答や、次の単語に進むためのボタンとして表示されています。(図4参照)
プログラム上ではコマンドボタンを他の作業から編集することはめったにありませんが、コマンドボタン自体にプログラムを書き込み、コマンドボタンを押すと作業が実行されるといった機能になります。
具体的にはコマンドボタンをダブルクリックすることで
Private Sub CommandButton1_Click()
End sub
といったsubを開くことができ、この中にプログラムを書くことで、コマンドボタン1をクリックした時にその作業が実行されます。
4 オプションボタン
オプションボタンは条件を指定して分岐させることができます。選択することで、異なったプログラムが実行されます。
(オプションボタン画面)
オプションボタンは、この矢印のマークをクリックして追加します。
単語学習プログラムでは、日英翻訳と英日翻訳の切り替えを行うために使われます。(図4参照)
オプションボタンをプログラム上で編集するときは2つの使い方があります。
一つ目はコマンドボタン同様オプションボタンをダブルクリックし
Private Sub OptionButton1_Click()
End sub
といったプロシージャーを開き、この中を編集することでオプションボタン1を選択したときに1に指定した条件に切り替わるというものです。
二つ目は
If OptionButton1.Value = True(False)
Then
という使い方です。
これはコマンドボタンの内部においてコマンドボタンをクリックした際、もしオプションボタン1が選択状態(非選択状態)のとき特定の作業を実行するという、コマンドボタン内で条件分けする使い方です。
(図4)
(図5)
図4、5が上記のボタンを使用して簡易的に作成した単語学習プログラムです。
日英、英日と表記されたオプションボタンを選択することでLable1の文章(説明文)Label2の単語を変えることができます。
これは
Private Sub OptionButton1_Click()
Label1.Caption = "以下の日本語を英単語に訳してください"
Label2.Caption = Cells(1,2)
End Sub
というプログラムを設定したことによりオプションボタン1(日英)を選択すると説明文とCells(1,2)にはいっている問題を表示することができます。
またコマンドボタンには
If OptionButton1.Value = True Then
If Textbox.Text = Cells(1,1) Then
Label2.Caption = “正解”
Else
Label2.Caption = “不正解”
End if
End if
というプログラムを設定することにより
テキストボックスにCells(1,1)に記入されている答えと同じ文字が入力されているとコマンドボタンをおした際に正解と表示されるようになります。
このようにExcelのワークシートとユーザーフォームを用いることで様々なツールを作成することができます。
3.練習問題
Q 次のアイコンの機能の名称を答えなさい。
また、その機能を説明している文をそれぞれ選択しなさい。
1
2
3
4
<機能の選択肢>
A 条件を指定して分岐させることができます
B クリックするたびに所定のプログラム(コード)を実行することができます
C 入力した文章(主にタイトルや説明分など)を表示することができます
D 自由に文字や文章を入力、編集することができます
↓
↓
↓
↓
↓
↓ 解答はもうすぐ!
Are you ready?
<解答>
1 コマンドボタン B
2 オプションボタン A
3 テキストボックス D
4 ラベル C
コメント
最新を表示する
1.各説明に画像があり、また各画像にも矢印等のマークがあったので理解しやすかった
2.改善点は特になし
1良い点:目において画像を用いて説明しているので、初心者の方にも優しいと思いました。
2改善点:特になし
よかった点
実際に使う画面やボタンを画像を使い説明することですごくわかりやすく作られていると思いました。
改善点
特になし
良かった点
画像がたくさん挿入してあってわかりやすい!
改善できる点
ユーザーフォーム機能1~4のタイトルの表示を大きくすると、よりわかりやすいと思った。
良いと思った点は、はじめてユーザーフォームを見る人にとってすごくわかりやすいと思った。画像がたくさん使われていて、画像の中にも矢印などでわかりやすく表示されているところがさらに良いと思った。
改善点は特に見当たらない。
NG表示方式
NGID一覧