オデッセイの運営サイト一覧

Excel®️、Accessのマクロ・VBAのスキルを評価する資格VBAエキスパート

企業・教育機関の皆さまへ 試験会場を探す お問い合せ

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

第14話「ユーザーフォームってなに?」

第14話「ユーザーフォームってなに?」

登場人物紹介

ユーザーフォームを作ってみよう

「ユーザーフォーム?」

星くんが、キョトンとした顔で聞き返します。

「うん、Excelの場合、ワークシートがそのまま入力フォームの役割をしてるんだけど…
本格的な業務システムの開発にはワークシートからの入力だけでは厳しいものがある。
そんなときは、ユーザーフォームを使用して、入力フォームをデザインする必要があるんだ。」

そういうと八木くんは、VBEで何やら操作を始めました。

「VBEのプロジェクトエクスプローラのどこでもいいから右クリックするよ。
するとショートカットメニューが表示されるから、その中の[挿入]→[ユーザーフォーム]をクリックする」

「あ、なんかでた」

「これがユーザーフォームだよ。
この中にボタンやテキストボックスなどのコントロールを自由に配置して、利用することができる。
ちょっと試しに作ってみるか…」

そういいながら八木くんは、ユーザーフォームにテキストボックスとコマンドボタンのコントロールを追加しました。

「コントロールの追加は、[ツールボックス]の中にあるアイコンをクリックしてから、
ユーザーフォーム上のコントロールを追加したい場所でドラッグするんだ。
そうすると、ドラッグした位置にコントロールが配置される。
ちょうど、ワークシートでオートシェイプの図形を挿入するのと同じ操作だよ。
今は試しに、テキストボックスとコマンドボタンを配置してみたよ」

「なんかInputBoxのダイアログに似ているね」

「うん。InputBox関数が表示するダイアログボックスはテキストボックスが1つと、
[OK][キャンセル]の2つのボタンが配置されてるね。
でも、ユーザーフォームならテキストボックスをいくつも配置したり、
チェックボックスやコンボボックスなどのコントロールを追加することもできる。
ユーザーに便利に操作してもらうためのフォームをデザインすることができるんだ」

星くんが、うーんと腕を組みながらたずねます。

「例えば、どんなデザインだと操作がしやすくなるんだい?」

「そうだな…例えば、"はい"と"いいえ"の2つしかユーザーに入力してもらう必要がないとき、
ワークシートならどうする?」

「それは…えっと、データの入力規則のリストを使うかな…」

「なるほど、あらかじめ"はい"と"いいえ"のリストを作っておいて
データの入力規則の元の値に指定するんだね。
いい方法だな。でも、他の値をコピーして貼り付けられてしまったらどうするんだい?」

星くんは、ウッと返答につまりました。

「…そ、それは…困るな…」

シーズン1 「VBAとの出会い」編:エピソード一覧

一覧へ戻る

MENU