0

私のExcelには、次のような複数の行があります。

Name  Age Tel 
John  5    12345677
Peter 10   4547567
Mary  6     46u7687867

次のように、Excel から複数の請求書に複数のドキュメントを生成するにはどうすればよいでしょうか。

ページ1:

Certification of XXXXX

John      Age 5

ページ2:

Certification of XXXXX

Peter     Age 10

ページ3:

Certification of XXXXX

Mary      Age 6

ありがとう!

4

2 に答える 2

2

上記の入力とコメントを想定すると、次のコードが機能します。

Sub ListPrinting()

Dim i As Long

i = 1

For i = 2 To ThisWorkbook.Sheets(1).Range("A1").CurrentRegion.Rows.Count

    ThisWorkbook.Sheets("Invoice").Range("F40").Formula = ThisWorkbook.Sheets(1).Cells(i, 1).Formula
    ThisWorkbook.Sheets("Invoice").Range("I38").Formula = ThisWorkbook.Sheets(1).Cells(i, 2).Formula
    ThisWorkbook.Sheets("Invoice").Range("I9").Formula = ThisWorkbook.Sheets(1).Cells(i, 3).Formula
    ThisWorkbook.Sheets("Invoice").PrintOut Copies:=1, ActivePrinter:="pdfFactory Pro on FPP4:" 'Specify your printer

Next i

MsgBox i - 2 & " invoice(s) printed."

End Sub

ご注意ください:

  1. 目的のプリンターの名前を指定する必要があります。マクロレコーダーを使用し、[印刷] ダイアログの使用可能なプリンターのリストで選択するだけです。
  2. リスト内のレコードの量は事実上無制限です...まあ、紙とインク/トナーはそうではありません)))それらはすべて、行2から始まり、シートにある最後の空でない文字列まで印刷されますlist
  3. 紙の損失を避けるために、1 ~ 2 個の項目でコードをテストしてください)

サンプル ファイルは共有されています (コードもテスト済み): https://www.dropbox.com/s/296e200496gd7gb/ListPrinting.xlsm

PSおそらく、必要に応じて日付フィールドを再フォーマットする必要があります-それは地域設定を使用するため、異なる方法で表示されます.

于 2013-02-01T19:11:41.310 に答える