プロが教えるわが家の防犯対策術!

エクセルでお客様番号を振ったシートを300枚ほど作ることになりました。
ちなみにお客様番号は連番で通し番号になっています。
エクセルのシートを300枚ほど同じブックに作って
一括で印刷することは可能でしょうか?
ちなみにその番号以外は同じ内容の文章なので
いっぺんに同じ内容のシートをコピーしつつ、番号だけ連番となることが理想なのですが。
マクロの知識はほとんどありませんが、教えていただけるとありがたいです。
どうかよろしくお願いします。

A 回答 (3件)

もし印字上番号が振られればよく


300枚のシートを保持する必要がないのなら
差し込み印刷のような機能を使ってみてはどうでしょう

http://www.vector.co.jp/soft/win95/business/se38 …
このようなものもあるようですので
EXCELだけでも実現できそうです
    • good
    • 0
この回答へのお礼

差し込み印刷とは思いつきませんでした。
ソフトの方も確認してみます。
ありがとうございます。
ただ、一時的に保存の必要性も出てきそうなので
出来ればマクロがわかればな、と思います。
とにかくありがとうございました。

お礼日時:2007/06/16 15:37

参考までに一例を示します。


標準モジュールに登録して実行してください。

Sheet1が原本のシートだとして、
Sheet1をコピーして、シート名をお客様番号に変更し、A1セルにお客様番号を入力します。

印刷は「ブック全体で印刷」をすれば良いと思います。

Sub copysheet()

 Dim Start_Num As Long
 Dim End_Num As Long
 Dim i As Long

 Start_Num = 1 'お客様番号 開始番号
 End_Num = 3 'お客様番号 終了番号

 For i = Start_Num To End_Num
  Sheets("Sheet1").copy After:=ActiveSheet
  ActiveSheet.Name = "No" & i
  ActiveSheet.Cells(1, "A").Value = "No" & i
 Next i

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
とっても詳しく解説していただいて感謝しています!!!
あっという間に数字が入力されてびっくりです!
これをアレンジして書類を作っていけそうです。

お礼日時:2007/06/18 14:16

マクロを使わない方法を。



まず、シートを一つにして、シート名を"(1)"とします。
シート(1)に文章などを入力します。

お客様番号のセル(たとえばA1)には、以下の関数を入力します。
=-VALUE(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31))
"001"のように桁数を揃える場合は以下になります。
=TEXT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31),"000;000")

保存していないファイルではエラーとなります。

次に、以下の操作を繰り返します。

一番右のシートのタブを右クリック→全てのシートを選択
ctrlを押しながらタブをすぐ右の空いているところにドラッグ

シートが倍々に増えていくので、必要なだけ行い、余分なシートは削除してください。

最後に、印刷ダイアログで「ブック全体」を選択して印刷します。


シート名の括弧がジャマだ、となると、やはりマクロになる気がします。

参考URL:http://www2.odn.ne.jp/excel/waza/sheet.html#SEC5
    • good
    • 0
この回答へのお礼

ありがとうございます!!
今回はマクロを使った方法を利用しようと思いますが
こちらの方法も今後とても役に立ちそうです。
詳しく解説してくださって感謝しています。

お礼日時:2007/06/18 14:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A