前回は連続印刷用のマクロを組み込んだExcelファイルの使い方の説明をしました。
この使用例をいくつか考えてみました。
前回は一つのデータベースシートと一つの印刷シート間での取扱でした。
ということは、データベース側が、すべての情報をもっていないと印刷シートを作成することができません。
今回は複数のシートから印刷シートを作成する例を解説します。
このようなシートを用意しました。
りんごの入庫確認書を出荷者に通知する・・・・・・という業務を想定しました。
まずは、「出荷者マスタ」です。

りんごの品種を管理する「品名マスタ」です。

そして「入庫データ」です。

ここでは出荷者名や品名といった情報はなくコードのみの必要最小限のデータになってます。
必ず出荷者コード、入庫日などで並び替えを行ってください。バラバラだとバラバラに印刷されます。
明細の抽出方法は「関数で取引明細作成① ②」を参照してください。
上記の3つのシートから、印刷するシート「入庫確認書」を作成します。

確認すると・・・・・・。
出荷者コードのセルを検索値として、「出荷者マスタ」からVLOOKUP関数を使い出荷者名を表示します。

「入庫日」「品名コード」「入庫数」などは明細№を検索値として「入庫データ」シートから表示します。

「品名」は「品名マスタ」シートから表示します。

出荷者コードを変更したりして、正しく表示されればOKです。

あとは「印刷コントロール」シートで各項目の設定をします。

確認ですが・・・・・・。
読み込みに使う「DBシート」は「入庫データ」シートを指定します。すべての出荷者が「入庫データ」にあるとわかっているならば、「出荷者マスタ」シートを指定してもいいですね。でも出荷者すべてが入庫しているとは限らないので、こういう場合は「入庫データ」を指定します。
「DB表示列」は、読み込むフィールドを指定するので、もちろん「入庫データ」シートの「出荷者コード」の列をセル番地で指定します。
「入庫データ」には、同じ出荷者が何件かあるので、重複印刷は「しない」に設定します。
あとは印刷するシート「印刷シート」に指定し、「DB表示列」で指定したフィールドを「印刷シート」のどの位置に表示させるかを「印刷位置」にセル番地で指定します。
設定し確認したら「印刷開始」をクリックします。
このようにデータベースとなるシートと印刷するシートの2シート間だけで完結するのではなく、複数のシートから印刷用のシートを作成し、元となるデータベースのキーを読み込むことで連続印刷ができるわけです。
次回は、もうチョット簡単な例を解説してみます。
サンプルファイルはサイドバーの使用サンプルファイルからダウンロードできます。
0 件のコメント:
コメントを投稿