商品マスタを作成、2段階の可変リスト最終更新日:2014-11-11第17回.商品マスタを作成、2段階の可変リストエクセルで顧客管理を作ろう、GW特別号が続いたので、そろそろ本題のソフト作成を進めましょう。技術解説していた方が楽しい気もしますが・・・これからも時々、やることにします。しても、ソフト作成の説明では、VBAそのものの解説がおろそかになってしまうので、それを補完する形で、特集で技術解説をしようと思います。ソフト作成は、売上の登録へ進んでいきます。その前に、最低限必要な、商品マスタを作成します。ここでは、2段階の可変リストを作ります。入力規則のリストを、2段階の絞り込みで作成1一覧リストを使用して、「入力規則」の「リスト」を作成し、「リスト」の選択結果により、となりの「リスト」の内容を自動で変化させます、さらに、一覧リストへの追加・削除に自動対応させるものです。理解した上でお読みください。入力規則のリストを、2段階の絞り込みで作成2一覧リストを使用して、「入力規則」の「リスト」を作成し、「リスト」の選択結果により、となりの「リスト」の内容を自動で変化させます、「入力規則のリストを、2段階の絞り込みで作成1」こちらのリストの縦横を入れ替えたパターンになります。入力規則のリストを、追加・削除に自動対応で作成一覧リストを使用して、「入力規則」の「リスト」を作成し、も参考にして下さい。その前に、商品マスタで使用する、分類マスタを先に作りましょう。以下のようなシートを作成して下さい、シート名は「分類マスタ」とします。B2から横に、大分類名称を入れていきます。大分類の2行目以下に、それぞれに含まれる中分類を入れます。縦横とも可変で参照可能にしますので、件数はご自由にどうぞ!続いて、シート「商品マスタ」を作成します。ここまでは問題ないですよね。関数を入れていきます。一息入れて大分類の名前を定義します。シート「分類マスタ」を選択します。Ctrl+F3で名前定義を起動する。メニュー等からの起動はバージョン毎に違います。「名前」に「大分類」と入力。2007以降の場合、範囲は「ブック」、2003にはありません。中分類の名前を定義します。シート「商品マスタ」のセルD4を選択します。選択セルが違うと正しく設定できません。Ctrl+F3で名前定義を起動する。メニュー等からの起動はバージョン毎に違います。「名前」に「中分類」と入力。2007以降の場合、範囲は「ブック」、2003にはありません。大分類の[入力規則]の[リスト]の設定です。F3を押すと名前定義の一覧から選択できます。中分類の[入力規則]の[リスト]の設定です。F3を押すと名前定義の一覧から選択できます。以上で2段階のリスト選択が完成です。C4の大分類を入力選択すると、D4のリストにはその大分類に含まれる中分類だけが表示されます。シート「分類マスタ」の大分類も中分類も追加・削除に自動対応されます。基準のセルから指定の行数と列数だけシフトした位置にある、高さと幅のセル範囲を返す関数です。検査値が検査範囲の中で何番目にあるかを返す関数です。結局、C列の値を、大分類のリストの何番目かを探し、その列数分ずれた中分類のリストを使用している事になります。MATCH(!$A2,の!は間違いではありません、これが無いと正しく出来ません。指定するなら、商品マスタ!となりますが、汎用性を持たせ他のシートでも使えるようにしています。ここでの、OFFSET、MATCH、COUNTAは使い道の広い組み合わせです。覚えれば、いろいろな事ができるようになります。続いて、単位のリストを作成します。シート「項目名」に以下を追加して下さい。C2以下はお好きなだけ入れられます、行数は可変に対応します。これは、大分類と同じですね。単位の名前を定義します。シート「項目名」を選択します。Ctrl+F3で名前定義を起動する。メニュー等からの起動はバージョン毎に違います。「名前」に「単位」と入力。2007以降の場合、範囲は「ブック」、2003にはありません。単位の[入力規則]の[リスト]の設定です。F3を押すと名前定義の一覧から選択できます。「OK」これで、関数の設定は全て終了しました。シート「商品マスタ」の4行目を使用する行までコピーして下さい。私は、とりあえず100行分を作成し、罫線を引きました。今回は、関数とリストの設定だけでした。」をご覧下さい、いろいろ掲載しています。エクセルの関数解説、関数サンプル、超技ともいうべき高等テクニックを紹介しています。合計、複数条件の件数を求める関数式です。以下の表で説明します。関数は工夫次第で、かなりの事が可能です。しても複雑になってしまいます。内容によっては、VBAで処理した方が良い場合も多いです。上記内容をVBAで全てやろうとしたら、かなり大変です。関数と、VBAの使い分けが重要です。豊富な関数が使える事がエクセルの最大の利点ですので、上手く活用しましょう。商品マスタを作成、2段階の可変リストこのサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。商品マスタを作成、2段階の可変リストこのサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。