• ベストアンサー

エクセルで差込印刷をしたいのですが?

ワードの文章に、エクセルのデータを差込印刷するように、エクセルの文章(実際は個票のような表形式)にエクセルのデータを差込印刷したいのですが、どうすればいいのですか? 実際は、印刷したい表のタイトル欄に、データ表の中からnameの列のデータを差込印刷したいのです。 過去のを全て検索できていませんが、よろしくお願いします。

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

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

データ例 Sheet1 データ部に連番を振っておきます(必須)。 連番 購入者 住所 品名 価格 1 木田 次郎 京都市 テレビ 150000 2 山田 太郎 大阪市 パソコン 130000 3 上田 健太郎 名古屋市 ドライヤ 5000 4 恩田 雅夫 浜松市 デジカメ 40000 5 坂田 俊夫 岡崎市 クーラー 120000 Sheet2  単票の例 (Sheet2) ()内はセル番地を説明のため入れてます。場所がわかれば()内は除いて ください。基本的には項目内容と見出しの配置は自由です。 どこでも良いがG1を番号指定用に確保します。 ----------------------------------- 送り状(C3) 住所(B5) (C5) お名前(B6) (C6) 様(D6) お買上げ品(B8) 品名(B10) (C8) 価格(B11) (C9) ----------------------------------------- C5に=VLOOKUP(G1,Sheet1!A3:D10,3,FALSE) C6に=VLOOKUP(G1,Sheet1!A3:E10,2,FALSE) C10に=VLOOKUP(G1,Sheet1!A3:E10,4,FALSE) C11に=VLOOKUP(G1,Sheet1!A3:E10,5,FALSE) を入れます。 (結果) (Sheet2) 送り状(C3) 住所    京都市 お名前   木田 次郎 様 お買上げ品 品名    テレビ 価格    150000 Sheet2の罫線・文字書式や列幅・行高は工夫してください。 不動文字は入れても影響なし。 (利用方法) これを印刷し、 G1の値を2にする。 すると山田太郎の書類になる。印刷する。 G1に3を入れる。上田健太の書類になる。これを印刷するを繰り返す。 必要ない人は飛ばせるのはわかりますね。 (問題点) 多数や全員印刷するときは面倒。 この問題は関数では解決しない。 (マクロ)VBAを勉強する必要がある。 自動でG1を1づつ増やして、印刷するを繰り返すプログラムを組む。 Sub test07() Worksheets("Sheet2").Select For i = 1 To 3 Range("G1") = i Range("A1:D11").PrintOut Next i End Sub For i = 1 To 3の3は実際のデータ行数に変えてください。 上記はわざと最大限やさしいVBAにしてます。こうしたいという要求はVBAを勉強して実現してください。 ("A1:D11").はSheet2の帳票の印刷部分全体を表わしてます。 Sheet2のようなものを作らず、全部をVBAで作れます。しかし関数と組み合わせるのも判りやすいという良さがあるかと思って紹介します。(テスト済み)

banzaiA
質問者

お礼

ありがとうございます。 参考になりました。 やってみます。

その他の回答 (1)

  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

差込みデータと印刷範囲が同じシートにあるものとして 以下のようなマクロでできるかと思います。 Sub Sample() Dim titleRange As String Dim nameRange As String Dim printRange As String Dim rng As Range Dim prtSheet As String titleRange = "F1" 'タイトル覧セルアドレス nameRange = "A1:A10" 'name覧セル範囲アドレス printRange = "D1:G18" '印刷範囲 prtSheet = "Sheet1" '印刷対象シート名 With Worksheets(prtSheet) .PageSetup.PrintArea = printRange For Each rng In .Range(nameRange) .Range(titleRange).Value = rng.Value .PrintOut Copies:=1 Next rng End With End Sub 印刷範囲やシート名は実際のシートに合わせて 変更して下さい。

banzaiA
質問者

お礼

早速、お教えいただきありがとうございます。 やはり、マクロを使うのですね! マクロ、参考に使わせていただきます。

関連するQ&A