• ベストアンサー

【WORD差し込み印刷】複数レコードを1ページに。

差し込み印刷について伺います。 エクセルでデータファイルを作り、ワードで印刷するものです。 エクセルファィル 鈴木 辞典 1冊 鈴木 新書 2冊 佐藤 週刊 1冊 佐藤 専門 3冊 ワード 鈴木さんの購入した本は以下の通りです。  辞典 1冊  新書 2冊 というように、複数のレコードを氏名ごとに1枚の通知文にしたいと考えています。 フィールドコードなどで、名前を判断し改ページができるような方法があれば教えてください。  

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#2です。補足ありがとうございます。 >複数レコードを1ページとして印刷(しかも、名前ごとに)するところがなかなか難しいです。 >名前(前のレコード)と名前(今のレコード)を比較する関数(?)やデータを格納できる任意の変数があればよいと思うのですが・・・。 おしゃることは良く判ります。ワードのフィールドでの回答が出れば良いのですが、まず難しいでしょう。私も勉強させてほしいのですが。しかしOKWEBを見つづけて3年、これに類した質問回答は今までありませんでした。 ○私のお勧めに対しての反応は今一つですが、下記をやって見てください。いろいろ応用が効きます。 (データシート)Sheet1のA2:C5に 鈴木 辞典 1冊 鈴木 新書 2冊 佐藤 週刊 1冊 佐藤 専門 3冊 氏名順にソートしてあること。 (印刷物シート)Sheet2の C3に「さんの購入した本は以下の通りです。」 と文言をいれます。B2に「注文書」とかいれるのも 不動文字は自由です。C4:D18は注文明細のために 空白にしておいてください。 (プログラム) ツール-マクロ-VBEでVBE画面に変ります その画面で-挿入-標準モジュール で出てきた画面に下記を貼りつける。 Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet '----A Set sh1 = Worksheets("Sheet1") Set sh2 = Worksheets("Sheet2") '-----B d = sh1.Range("A2").CurrentRegion.Rows.Count MsgBox d j = 5 '---第1データ分セット m = sh1.Cells(2, "A") sh2.Cells(3, "B") = m sh2.Cells(4, "C") = sh1.Cells(2, "B") sh2.Cells(4, "D") = sh1.Cells(2, "C") '-----第2行以下処理 For i = 3 To 1 + d If sh1.Cells(i, "A") = m Then '-----名前前行と同じ sh2.Cells(j, "C") = sh1.Cells(i, "B") sh2.Cells(j, "D") = sh1.Cells(i, "C") j = j + 1 Else '------名前前行と変ったとき印刷とクリア sh2.Range("A1:f20").PrintOut sh2.Range("c4:d18").ClearContents '-------名前変化後分のデータセット m = sh1.Cells(i, "A") sh2.Cells(3, "B") = m sh2.Cells(4, "C") = sh1.Cells(i, "B") sh2.Cells(4, "D") = sh1.Cells(i, "C") j = 5 End If Next i sh2.Range("A1:f20").PrintOut End Sub プリンタに上をセットして そしてメニューの実行-SUB/ユーザー・・をクリック。 (結果) 鈴木 さんの購入した本は以下の通りです。 辞典 1冊 新書 2冊 と 佐藤 さんの購入した本は以下の通りです。 週刊 1冊 専門 3冊 の2枚の紙がプリンタから出てきます。 1人15冊以上注文がある場合は手直しが必要ですが、今回は略。

kiku2327
質問者

お礼

アドバイスありがとうございます。 WORDへの差込印刷だけしか思いつかなかったのですが、EXCELのマクロがあったとは目から鱗です。 早速試してみます。

その他の回答 (3)

回答No.3

Accessを使えるなら早いように思いますが、エクセルデータファイルをワードで差し込み印刷となると、、意外に難しいですね。NO.1の方の補足にありました、元ファイルを変更すると他へ影響があるとのことですが、コピーしてもう一つ同様のファイルを作ってから加工するとか、エクセルのピボットテーブルで、ページエリアに購入者名を配置し、ページごと表示にすれば、あっという間に、個人集計が可能となるかと思います。説明下手ですみません。参考になれば。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

小生は判ってないのですが、質問への直接の回答でなくて済みません。 (1)フィールドコードなどで おっしゃる通り、挿入-フィールド-フィールドの名前 に出てくるIfやNext(Record)などの英語の 語句を駆使すると、お望みの処理が出来るらしいとかねてから睨んでいて関心があります。 一種のプログラムを組むようなものでしょう。フィールド コード自体がワードの中で異色な感じがします。 しかし、解説した書籍やWEBサイトがなくて、判らずじまいです。1000ページぐらいのワードの本数冊にも、あまり記述がありません。 (2)それで ワードで差し込み印刷せず、エクセルVBAで処理する方 法もあることを御紹介します。 印刷物をデータ記録シートと別シートにして、名前が変るまで同一印刷シート次行にデータをセットし名前が変るとシートを印刷します。 ラベル印刷の例が殆どですが、過去に何度も質問があります。 http://okweb.jp/kotaeru.php3?qid=797145などの小生の回答を参考にご覧下さい。 印刷シートをエクセルのシートで設計してデータをセットするセルを決めて貰うこと、データシートで名前の入っている列や、印刷する項目列を教えてもらえれば、15行程度のVBAプログラムで、エクセル内の処理が出来ます。

kiku2327
質問者

補足

アドバイスありがとうございます。 複数レコードを1ページとして印刷(しかも、名前ごとに)するところがなかなか難しいです。 名前(前のレコード)と名前(今のレコード)を比較する関数(?)やデータを格納できる任意の変数があればよいと思うのですが・・・。 ワード 鈴木さんの購入した本は以下の通りです。  辞典 1冊  新書 2冊 ++改ページ+++++++++++++ 佐藤さんの購入した本は以下の通りです。  週刊 1冊  専門 3冊

  • goomika
  • ベストアンサー率26% (66/251)
回答No.1

データファイルを修正されたらいいですよん。 鈴木 辞典 1冊 鈴木 新書 2冊 佐藤 週刊 1冊 佐藤 専門 3冊 ではなく、    辞典 新書 鈴木 1冊 2冊 佐藤 1冊 3冊 そして、差込印刷の設定したらOKです。     

kiku2327
質問者

補足

アドバイスありがとうございます。 実際のデータは行700、列10のデータです。 なかなか、元のファイルを加工するのは他への影響もあり、なかなかできない状況です。

関連するQ&A

  • Word 差込印刷 一ページに同項目の複数レコードを差し込むには

    お世話になります。 Word2002を使用しています。 1ページの中に、同じ項目の差込フィールドを複数挿入し、差込データを順に挿入されるようにしたいのです。 単純に差込フィールドを複数挿入すると、ページ全て同一のデータが挿入されてしまいます。 よろしくお願いします。 以下は蛇足のような説明ですので、上記説明で理解されましたら省いてください。 1ページの中に「氏名」の差込フィールドを4つ挿入します。 このフィールドは、エクセルブックの「氏名」の列に対応しています。 例えば、鈴木 佐藤 山田 高橋 山口 石川 ・・・ と氏名のデータが続くとして、 ワードの差込フィールドには、 1ページ目は 鈴木 佐藤 山田 高橋   が入り、 2ページ目は 山口 石川 ・・・     と入るようにしたいのです。 よろしくお願いいたします。

  • word2007差し込み印刷。複数レコードを1枚の用紙に印刷する方法を

    word2007差し込み印刷。複数レコードを1枚の用紙に印刷する方法を教えてください。 基本的にA4用紙を使用しており、1件のレコードだと余白が多くなるので、用紙上下に異なるレコードを印刷したいです。

  • Word 差し込み印刷<<Next Record>>を表示させたくない

    Word2003です 様式を作って印刷、コピーした用紙に、ラベルの差し込み印刷をするのですが まず様式を作る段階で困ってしまいました。 それは、最初のラベルに差し込みフィールドを入れずに様式のみをつくって、複数ラベルに反映をクリックすると2枚目以降のラベルの最初に<<Next Record>>と入力されてしまいます。 これを入力しない方法はありませんか 教えてください。

  • Word2007でのラベル差込み印刷で困ってます

    Word2007でのラベル差込み印刷の仕方を教えて下さい。 Word2000当時に作った「Excelの住所録」と「Wordの差し込みフィールド」で住所や氏名が全面配置完成したデータがあります。 Word2000であればこのWordの差し込みフィールドを開いて、「差し込み」をクリックしさえすれば、Excelの住所録が差し込まれて何の問題もないのですが、Word2007では「差し込み印刷の開始」をクリックしても全く先へ進めず困ってます。どうすればこのExcelデータを差し込めるのでしょうか。 2007では2000当時のデータは使えず、最初から作り直さねばならないのでしょうか。よろしくお願いします。

  • 差し込み印刷のことでお尋ねします。

    ウィザードに従って進んでいって最後の[結果のプレビュー] のところで、 差し込み印刷後の文書が順に表示されません。つまり差し込みフィールドの挿入のまま、住所・氏名等に変わらないのです。 印刷自体は、プリンタに「すべてのレコードを差し込む」と指示することで問題なく住所等すべて表示されるのですが。どなたか原因と治し方おしえていただけませんか。ワード2007を使っています。

  • wordの差し込み印刷について

    こんにちは、word(2003)の差し込み印刷について教えて下さい。 今回、人名リストをaccessで作り、wordに差し込みをしました。 つい昨日までは順調だったのですが、今回差し込みを行ってABCボタン(データを表示するボタン)を押したところ、フィールドコードが表示され、データが出てきません。 (データを移動するボタンを押してもずっとフィールドコードが表示されたままです) フィールドを非表示にしてみてもABCボタンを押すとフィールドが再度表示されてしまいますし、データ更新を押しても同じでした。 どうしたらデータが表示されるようになるでしょうか…?

  • wordの差し込み印刷についてですが、エクセルで作った例えば、番号・氏

    wordの差し込み印刷についてですが、エクセルで作った例えば、番号・氏名の順番wordに差し込んで使いたいのですが、データソースを開いて、選択するのですがテーブルには何もあらわれてこず、差し込み印刷フィールドの挿入が出来ません。どうしたらいいでしょう。

  • 一太郎13の差込印刷で同一ページに複数レコードを印刷したい

    一太郎13の差込印刷で同一ページに複数レコードを印刷したいと考えています。罫線を使って1レコード1行ずつ(実際には何行ずつでもいいのですが・・ちょうどMS-Accessのレポートのように)、いっぱいになったら改ページという風にできるのでしょうか。縦書きで半角数字を扱う際にWordやAccessのレポートだときちんと印刷できませんので、一太郎を使おうと思うのです。 よろしくお願いします。

  • ワードの差込み印刷

    エクセルの表を元に、ワードの差込み印刷をしたいのですが、 そのとき、エクセルの複数のシートからフィールドを差込みたいと思います。 どうすればできるでしょうか。 いつも最後に選んだシートの分しか出てこないのです。

  • WORDの差込印刷でできますでしょうか?

    WORD2002を使用しています。 A4用紙に差込印刷をかけたいと思っております。 但し、真ん中より2つに分けて上下同じ文書なのですが 異なるデータを2件打ちたいのです。 例えば以下のデータがあったとします。 ***************** NO. 氏名 1 田中 2 鈴木 3 小林 4 大橋 ***************** これを差し込んでこのような文書を作成したいのです。 (1枚目) 1 田中 送ります。 2 鈴木 送ります。    (2枚目) 3 小林 送ります。 4 大橋 送ります。 このようなことは可能でしょうか? よろしくお願いいたします。

専門家に質問してみよう