- ベストアンサー
エクセルの表を複数枚印刷したときに連番をつけたい
エクセルの1枚の表を100枚印刷し、その表のシート内(AW3)に連番を打ちたいのですが、なにか簡単な方法はありますか? 今までは印刷を100枚して、ナンバーリング(ハンコ)で連番を打っていましたが、ちょっと面倒なんです。 マクロを使ったことのない初心者ですが、何かよい方法はありませんか?よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#02です。 開始番号、終了番号を指定する場合はこんなマクロです。 ただし開始、終了ともに正の数でないと印刷は行いません。 Sub NumberPrint() Dim idx As Integer Dim frmPage, toPage frmPage = Application.InputBox("連番を挿入して印刷します" & Chr(13) _ & "開始番号を入力してください", Type:=1) toPage = Application.InputBox("終了番号を入力してください", Type:=1) If frmPage > 0 And toPage >= frmPage Then For idx = frmPage To toPage Range("AW3").Value = idx ActiveSheet.PrintOut Next idx Else MsgBox "開始番号、終了番号が不適切です。印刷は行いません" End If End Sub
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
VBAを使わないと、不可能と思います。 Headde、Footerを使えばで繰るかも知れませんが、位置が制約されます。 #2のご回答と実施中同じですが、 >マクロを使ったことのない初心者ですが ですので、最低限にして ツールーマクローVBE-挿入ー標準モジュールの画面に下記を張り付ける。 Sub test01() For i = 1 To 100 '100枚繰り返し Range("V2") = i 'V2に連番を入れる例 ActiveSheet.Range("A1:V30").PrintOut '印刷範囲がA1:V30の例 Next i End Sub ーー 実行キーF5キーを押す。 印刷部数100を任意に変える。 Range("V2") =でページ番号を入れるセルを希望のセルに変える。 Range("A1:V30").を印刷する希望の印刷範囲に変える。 ーー まず For i = 1 To 3 ぐらいでテスト刷りをしてみてください。
- zap35
- ベストアンサー率44% (1383/3079)
このカテゴリで「印刷 連番」で検索すればマクロを使う方法、ヘッダ/フッタを使う方法… 数多くの履歴がありますよ マクロでやるなら、以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はワークシート画面を表示してALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。 Sub NumberPrint() Dim idx As Integer Dim res res = Application.InputBox("印刷部数を入力してください", Type:=1) If res > 0 Then For idx = 1 To res Range("AW3").Value = idx ActiveSheet.PrintOut Next idx End If End Sub 「マクロはちょっと…」なら過去履歴を参考にしてください。 このマクロでうまくいかないときは、「どこまでやったら、どんな結果になったか」を補足していただければ、再度説明します。
補足
ありがとうございます。入力できました!! 過去のQ&Aを見たのですが、マクロを開き実行するところが よくわからず苦戦しておりました。 欲を言って申し訳ありませんが、100~200など 数字を指定して入れられると なお、うれしいのですが・・・。 よろしくお願いいたします。
- marbin
- ベストアンサー率27% (636/2290)
>マクロを使ったことのない初心者ですが、 マクロ以外の方法を教えてくれ、ということでいいですか?
補足
できればマクロ以外が希望です。
お礼
このたびは、ありがとうございました。 私が求めていたのはこれでした!! マクロを使ったことがなかったのですが、わかりやすく大変勉強になりました。 この機会に是非、勉強したいと思いました。