- 締切済み
差込印刷で顧客別に複数行のデータを印刷する方法で困っています
下記(1)のようなエクセルデータをワードへ差込印刷で(2)のように表示したいのですが、どのような方法がありますか? エクセルには同一顧客名で複数行にわたるデータがあり、ワードへの差込印刷では一顧客1ページとしてその中に複数行のデータを出力したいのです。エクセルのデータを一顧客一行にすれば差込印刷は容易でしょうが、エクセル上の表示が崩れるのとデータ量が多いので困難です。 VBAを使用しないと無理のようでしたら、参考となるものをぜひ教えてください。何卒よろしくお願いします。 (1)エクセルデータ 顧客名 品目 金額 備考 A みかん 100 あ A りんご 200 い A すいか 130 う B みかん 100 あ C りんご 200 う C すいか 130 う (2)ワード出力 (1枚目) A殿 品目 金額 備考 みかん 100 あ りんご 200 い すいか 130 う (2枚目) B殿 品目 金額 備考 みかん 100 あ (3枚目) 以下同様
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- CHRONOS_0
- ベストアンサー率54% (457/838)
レコードの移動で確認しているのですね あれでは確認できません あれは差込の先頭レコードをずらしているだけですから お書きになったような現象になります 印刷しないで出来上がりを確認したければ 新しい文書に差込をやってください (印刷すればちゃんとご希望通りになります) 差し込み印刷というのはデータベース的な操作です データベース的に考えないと完全には理解できないですよ
- CHRONOS_0
- ベストアンサー率54% (457/838)
1文書に複数レコードを差し込みたいときにはNextREcordフィールドを使います 1文書に3レコードずつ差し込むには <<フィールド名>> <<NextRecord>><<フィールド名>> <<NextRecord>><<フィールド名>> のように書きます。質問のように部署によって差し込む数が変わる場合は もう一工夫必要です 準備としてExcelの方でグループの境目に空白の行を挿入します 簡単に作るには、もう一列ダミーの列を作り適当なものを入れておき [データ][集計]でグループに顧客名を指定し、ダミー列のカウントを求めるとでもします 顧客名 品目 金額 備考 ダミー A みかん 100 あ 1 A りんご 200 い 1 A すいか 130 う 1 A 数値の個数 3 B みかん 100 あ 1 B 数値の個数 1 C りんご 200 う 1 C すいか 130 う 1 C 数値の個数 2 総合計 6 総合計の行は不必要なので削除します WordのほうではNextRecordの代わりにNextRecordIf フィールドを挿入します <<フィールド名>> <<NextRecordIf>><<フィールド名>> <<NextRecordIf>><<フィールド名>> NextRecordIfの設定は フィールド名:品名 比較:等しくない 比較対象:"" これで顧客Bの場合で説明すると 1つ目のレコードを挿入した後、 2行目のNextRecordIfのところで品目はみかんで空白ではないので次のレコードに送られ 2行目にはExcelのBグループの集計行の値(空白)が挿入されます 3行目のNextRecordIf では品目は空白なので次のレコードに送られることなく 3行目にも空白が挿入されます 文書が終了すれば次のレコード(Cグループ先頭)に送られ 次の文書にはCグループが挿入されます
補足
CHRONOS_0さん、ありがとうございます。 ご回答の通りやってみましたが、もう少しのところで戸惑っています。 顧客AやCのように複数のレコードがある場合、文書がレコードの数だけできてしまうのです。 例えばAの場合、1枚目は3つのレコード、2枚目は2つのレコード、3枚目は1つのレコードが表示されます。つまり、1行当たり1文書ができてしまい、顧客毎に1枚というのが実現できないのです。 これをどうやってコントロールすればよいのでしょうか? よろしくご教授お願いします。
- koko88okok
- ベストアンサー率58% (3839/6543)
マクロでの可否は分かりませんが、残念ながら、差し込み印刷に使用できるExcelの表には次のような制約があるようです。 1) 1行目は項目名のみで、タイトルなどは不可 2) 1レコードは1行に限る 3) セルの結合はしない なので、第一商品、第一金額、第2商品、・・・のようにでも表を変更しないとまずいと思います。
お礼
ありがとうございます。 やはりダメですか。残念ですが、別の手段(手作業?)を探ろうと思います。
お礼
本当にありがとうございました。 出来上がりが確認できました。 これで相当仕事が効率化できそうです。 データベース的な操作という表現でイメージも掴めました。