差し込み印刷をする際は、エクセルデータの1行分に対して1枚の印刷になります。
しかし「Aというデータは3枚、Bというデータは5枚」というように、任意の枚数を印刷したい場面が出てくると思います。
そういった時に、この記事の方法を試してみてください。
基本的な考え方としては、上記例に挙げた「Aというデータは3枚、Bというデータは5枚」を印刷したい場合は、「Aというデータを3行、Bというデータを5行」にして差し込み印刷を行います。
例として、以下画像では数量をキーにして、別シートに数量分のデータを転記しています。
↓
1.VBAコードを貼り付ける
「Alt」を押しながら「F11」を押してください
下のような画面が出てくると思います
赤枠で囲った部分のメニューが出ていない場合は「Ctrl」を押しながら「r」を押してください
目的のファイル名の上で右クリック
↓
「挿入」をクリック
↓
「標準モジュール」をクリック
すると右側に大きな白いスペースが現れたと思います
※↓画像の赤枠部分
このスペースに以下のコードをコピペしてください
Sub sashikomi()
Dim sh1, sh2 As Worksheet
Dim i, a, t, y, h As Long
Set sh2 = ActiveSheet
Worksheets.Add
ActiveSheet.Name = "mysh"
Set sh1 = Worksheets("mysh")
If IMEStatus <> vbIMEModeOff Then
SendKeys "{kanji}"
End If
h = InputBox("何列目をキーにしますか?")
sh2.Activate
Rows(1).Copy
sh1.Rows(1).PasteSpecial
i = Range("A10000").End(xlUp).Row
y = 2
For a = 2 To i
For t = 1 To Cells(a, h).Value
Rows(a).Copy
sh1.Rows(y).PasteSpecial
y = y + 1
Next t
Next a
End Sub
2.貼り付けたプログラムを実行する
まず、印刷したい枚数が入力されたキーとなる列番号をメモしてください。
(A列なら1、B列なら2、C列なら3、D列なら4、・・・、Z列なら26、AA列なら27)
始めに例示した画像の場合なら、数量の入っているD列の「4」がキーになります
「開発タブ」の「マクロ」を選択します。
開発タブが表示されて無い場合は開発タブを表示する方法を参考にしてください。
「sashikomi」を選択し「実行」をクリックしてください
「何列目をキーにしますか?」と出ますので、先ほどメモした列番号の数字を入力してEnterを押してください。
すると「mysh」というシートを追加して、そのシートに目的のデータが出来上がると思います。
そのデータを差し込み印刷をする元データのシートにコピペすれば、印刷データの完成です。
あとはワードを開いて差し込み印刷をしてください。
コメント