トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > VBAとの出会い編 第14話「ユーザーフォームってなに?」

やってみよう!Excel VBAで業務改善!|VBAとの出会い編

便利なコントロールがいっぱい

「だろ?"はい"と"いいえ"しか入力してはいけないセルに、"OK"や"YES"なんかの値をコピーされたら、システムを作る側としては困っちゃうよね。
でもユーザーフォームならこれだけさ」

八木くんが、先ほどのユーザーフォームに新しいコントロールを追加しました。

「これはチェックボックスといって、チェックされているときは"True"の、
チェックされていないときは"False"の値をValueプロパティに持つんだ。
これなら、他の値が入ることはありえないよ」

「そっか…"はい"と"いいえ"は、"真"か"偽"の2値だから、TrueかFalseのどちらかが返ればいいんだね。
これはシンプルでいいなあ」

CheckBoxコントロールのTripleStateプロパティにTrueの値を指定すると、
真、偽、Nullの3つの状態をサポートすることができます。

「ははは。あとせっかくリストの話が出たから説明するけど、コンボボックスというリストそっくりのコントロールがユーザーフォームにはあるんだ」

再度、八木くんが新しいコントロールをユーザーフォームに追加します。

「データの入力規則のリストは先ほどのケースのように、リスト以外のデータを入力されてしまう危険性がある。
コンボボックスには"MatchRequired"というプロパティがあって、Trueを指定すると、リストの中にある項目以外は入力することができなくなるんだ」
「それは便利だね」 「うん。ユーザーフォームには他にも便利なコントロールがたくさんある。
これらを組み合わせることで、ユーザーが最小限の労力で、データの入力や修正を行えるようにすることができるんだ。
星、おまえが操作する側だとしたら、使いやすいユーザーフォームと使いにくいユーザーフォームのどちらのシステムで仕事がしたい?」
「そりゃ、いうまでもなく"使いやすい"ユーザーフォームのシステムだよ。
なるほどなあ…業務システムでは、こういったユーザーインターフェイスがすごく重要な意味を持つんだね」

八木くんが、ゆっくりとうなずきます。

「そのとおり。
ユーザーから見えるシステムは、メニュー画面や入力フォームなどのユーザーインターフェイスの部分だけだ。
彼らにとって、ユーザーインターフェイスこそがシステムなんだ。
背後でどんな複雑なコードが実行されていたところで、そんなことは知ったこっちゃないんだよ。
…それじゃあ星、この[CommanButton1]と表示されているコントロールをダブルクリックしてみろよ」

シーズン1 「VBAとの出会い」編: 各エピソードへのリンク
一覧にもどる