複数のリストデータがあり、一つの親リストからデータを選択すると、その結果に従い、別のリストから適切なデータが選択できるようにしたい・・・という需要は少なくありません。
たとえば、ワークシートに2つのコンボボックスを配置して、最初のコンボボックスから部署名を選択すると、2番目のコンボボックスにはその部署に所属する社員の名前のみが表示されるような仕組みです(図1)。こうした仕掛けは、Excxelのワークシート関数を駆使しても作成可能ですが、VBAを使うことで機能の拡張性や後のカスタマイズのしやすさが高まるといった利点があります。
今回は、Excelの入力規則とセルに付けた名前を利用して、ワークシート上の2つのコンボボックスが連携するプログラムを作ってみることにしましょう。
プログラムを作成する前に、ワークシートに必要な仕掛けを施します。新規ブックを用意して、1枚目のシートを「報告書」、2枚目のシートを「リスト」と名前を付けます。2枚目のシートには、各部署に所属する社員の名前を入力します。入力後、各部署の社員が入力されているセル範囲を選択し、メニューから「挿入」→「名前」→「定義」で開く「名前の定義」画面で、それぞれのセル範囲に必要な名前を設定しておきます(図2)。
遊びにも仕事にも
楽しく快適に使いこなす!
誰も教えてくれなかった
スマートフォンの使い方が満載!
撮影から加工まで写真活用の
すべてまるわかり!
アンドロイド「使いにくい」を
徹底解消!
パソコンを仕事と生活に活かす総合情報誌
・お役立ち周辺機器購入ガイド
・最新画像処理ソフト驚きの実力
・新型CPU搭載の夏モデルが登場ほか
パソコン初心者応援マガジン
・必ず見つかるネット検索
・写真の保存&印刷決定版
・キーボードの便利技43 ほか
パワーユーザーのためのPC総合情報誌
・Ivy Bridge大研究
・本気で作る小型・静音PC
・新世代グラフィックスボードほか
ビジネスマンのパソコン誌
・パソコン&スマホで地図&GPS
・PDF「新」活用術
・ネットでらくらく資産管理 ほか