VBA23_あなただけのフォームを作ろう(上)

こんばんは! Benです。

以前にExcelのワークシート上にコンボボックスとかオブジェクトを貼り付けて処理をするのをやりましたが、今回はもう少し本格的にいきたいと思います。

20151205a.png
これは、Excelの便利な機能の一つ。オートフィルタのオプションです。これはもうExcelに機能があるのですが、あえてこれにまねた機能をVBAで作ってみましょう。

20151205b.gif
まずは、ユーザーフォームという自分ならではの独自のウインドウを作ります。私は、ピンクの四角がついている下▼メニューからユーザーフォームを選ぶことで作っています。

20151205c.gif
すると、UserForm1ができて自動的に追加されます。このときは空のウィンドウで何もないですが、これをカスタマイズして独自のモノにします。

20151205d.gif
ユーザーフォームの編集モードでは、御覧のようなツールボックスが出ます。主に使うのには説明をくわえました。
・テキストボックスはテキストの表示や入力を行いたいとき、ラベルは単にユーザーフォーム上に文字を表示したいとき
・コンボボックスは文字の入力とリストからの選択のいずれかもしくは両方をしたいとき
・リストボックスはリストからの選択を単一または複数したいとき
・チェックボックスは該当するかチェックする又はしないの二者択一
・ラジオボタンもチェックボックスと似ているけど、複数選べなくて片方選ぶともう片方はOFFになります。
・フレームはそのラジオボタンの択一の範囲決めです。フレームごとにラジオボタンは1個選択できます。
・コマンドボタンは実行したいマクロや命令を登録します。
 そのほかにも様々なオブジェクトがありますが、今回は私がよく使うものを載せました。

20151205e.gif
これらをユーザーフォーム上に設置するにはどうすればいいのでしょう。それは、ツールボックスでクリックしてからユーザーフォームでクリックしてもいいし、クリック&ドラッグ、ドラッグ&ドラッグでもいずれでもOK。画像例ではラベルを張り付けました。

20151205f.gif
そしてラベルの中身を変えるにはそれをクリックして普通にテキスト編集するだけです。ユーザーフォームの編集は簡単ですね。そして、次回はこのオブジェクトにプログラムを結び付けましょう。

自分だけのフォームというかウィンドウを作れるのはとても面白いです。実行してもいいですか?の確認ウィンドウを自作して半ばふざけて「いいかな? ダメなの(ToT)」とか選択肢も思いのまま。楽しくて気軽なVBAはおすすめですね。

この記事へのコメント


この記事へのトラックバック