Excelで差し込み印刷

Pocket

差し込み印刷はExcelなどのデータを元にWordに差し込んで印刷するものですが、Excelのシートに差し込んで印刷するというニーズもあります。
なぜ標準機能にないのか不思議に思います。

そこでExcelで差し込み印刷をするためのマクロを二つ書いてみました。
どちらかを試してみてください。

マクロ「差込」

「リスト」シートからデータを取り出して「書類」シートに貼り付けます。
どのように貼り付けるかは自由に変えられます。
「Sheets("書類").Cells(1, 2) = Sheets("リスト").Cells(i, 2)」の「Cells(1, 2)」の1と2の部分は「書類」の貼り付け先のセルに書き換えてください。
「Cells(i, 2)」の2の部分は「リスト」の元の列番号(A列が1、B列が2)に書き換えてください。
リストの左端には「id」という通し番号を付けておいてください。
マクロを実行すると「id」を訊かれます。そのidをリストから探して書類に貼り付けます。
貼り付け後は修正したり保存したり印刷したり通常のExcel操作になります。

Sub 差込()
    Sheets("書類").Select
    myid = InputBox("id?")
    i = 2
    Do
        i = i + 1
    Loop Until Sheets("リスト").Cells(i, 1) - myid = 0 Or Sheets("リスト").Cells(i, 1) = ""
    If Sheets("リスト").Cells(i, 1) = "" Then
        MsgBox "一致するidがありません。終了します。"
        Exit Sub
    End If
    'この下の部分を書き換えて使います。
    '「書類」シート=「リスト」シート
    'Sheets("書類").Cells([書類の行番号],[書類の列番号]) = Sheets("リスト").Cells(i,[リストの列番号])
    Sheets("書類").Cells(1, 2) = Sheets("リスト").Cells(i, 2)
    Sheets("書類").Cells(3, 5) = Sheets("リスト").Cells(i, 3)
End Sub

マクロ「差込印刷」

「リスト」シートの最初の行から最後の行までデータを取り出して
「書類」シートに貼り付け、印刷します。
やはりどのように貼り付けるかあらかじめ書き換えておく必要があります。
途中で止まりませんので実行する際は慎重に。

Sub 差込印刷()
    i = 2
    Do
        'この下の部分を書き換えて使います。
        '「書類」シート=「リスト」シート
        'Sheets("書類").Cells([書類の行番号],[書類の列番号]) = Sheets("リスト").Cells(i,[リストの列番号])
        Sheets("書類").Cells(1, 2) = Sheets("リスト").Cells(i, 2)
        Sheets("書類").Cells(3, 5) = Sheets("リスト").Cells(i, 3)
       
        Sheets("書類").PrintOut
        i = i + 1
    Loop Until Sheets("リスト").Cells(i, 1) = ""
End Sub

[ 2011年2月7日 | カテゴリー: Excel | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報