• ベストアンサー

シリアルナンバーを付けて印刷

エクセルで作ったフォームの1つのセルにシリアルナンバーを入れます。 そのシリアルナンバーを順に変化させて(例えば0001の次は0002、0003・・・といったように)、そのフォームを印刷したいのですが、出来るでしょうか?

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

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

#1のものです。お礼部分に関して質問があります。 1枚目に印刷するものと2枚目に印刷するもの、3枚目・・に印刷するもので、番号以外の「変わる項目(部分)」はどう言うものでしょうか。 通常はどこかが変わるはずでしょう。その項目を人手の入力に頼るなら、自動的に放っておいても「全部が印刷されるようにすることは」出来ないのですが。 番号以外全く変わらないのなら, 番号は先頭の0つきで4桁として、100までで Private Sub CommandButton1_Click() For i=1 to 100 n=trim(str(i)) n = "'" & Mid("0000", 1, 4 - Len(n)) & n Worksheets("sheet1").Cells(1, 1) = n Range("a1:j20").PrintOut Next i End Sub

smilepick
質問者

お礼

ありがとうございます。 シリアルナンバー以外は変わりません。 例えばセルA1には製品番号,B1にはシリアルナンバー、C1には会社名という風にしておきます。 で別のセルやシートに0001から0100とかいう風指定した後、ボタンを押せば、1枚目は製品番号、会社名と0001、2枚目は製品番号、会社名と0002としたいのです。 製品番号と会社名はずっと固定です。 今回書き込みして頂いたものは、VBAに番号を書いてあるので、シリアルが変わる時(0150~0200)はVBAのエディタで書き換えないといけないのですよね。

すると、全ての回答が全文表示されます。

その他の回答 (1)

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

VBAになりますが シリアルナンバーをいれるセルをA1と決めます。 表を作ります(操作とか入力+VBAなどによって)。コマンドボタンをクリックすると1ページ印刷するようにします。本件ではフォームとはエクセルワークシートの一部で出来ているものとしています。 Private Sub CommandButton1_Click() Worksheets("sheet1").Cells(1, 1) = Worksheets _("sheet1").Cells(1, 1) + 1 Range("a1:j20").PrintOut End Sub 後はPageSetupなどがPrintOutの前に 入りますが、骨子はこんなところだと思います。

smilepick
質問者

お礼

早速の回答、ありがとうございます。 肝心な所を書いてなかったのですが、そのシリアルナンバー、例えば0001から0100までの100個と指定して、コマンドボタンを1回クリックすると全部が印刷されるようにすることは出来ますか?

すると、全ての回答が全文表示されます。

関連するQ&A