プロが教える店舗&オフィスのセキュリティ対策術

Excelで、1つのブックに7枚のシートがあります。
そんなファイルが、35個あります。
シートだけ数えると、245枚になります。
それぞれのシートに、順番に「1、2、3、4、5、6、7」と
ページ番号をつけ、それを全部のファイルで行いたいです。

つまり、2個目のファイルからは、「8、9、10、11・・」と
なるようにしたいのです。
自分で、シートにページ番号をふるマクロを作ったんですが、
1~7のページ番号がついたものが35個できてしまい、
連番にはなりません。

いちいちフッターを開いてページ設定していたのでは、
とても大変なので、なんとかならないかなー、
と思っています。

A 回答 (2件)

下記の『startPg』に開始番号を割り当てれば開始番号からのページ数をフッタに設定します。

全体がはっきりしないので、これは指定したページからのフッタを設定する例です。
Book名に規則性があったりすると別の書き方もできますね。
また、印刷用のBookを作っておき、印刷順にBook名をシートに記載しておき、順次Openして印刷したり、ページ数をカウント(記憶)しておくようにもできますね。

ThisWorkbookのWorkbook_BeforePrintイベントに下記を貼り付ければ(Dim~Next)、印刷時に設定してくれるはずです。色々方法があります。今は『- 8 -』のフッタになります。

標準モジュールに貼り付けます。
Public Sub setPageFooter()
  Dim pg As Integer '頁
  Dim startPg As Integer '最初の頁番号

  startPg = 8 ’1枚目を8ページ目にする例
  'startPgの決定方法には
  ' (1)Book単位に値をセット(上記の『8』)
  ' (2)セルを参照する方法・・・startPg = Worksheets("Sheet1").Range("A1")
  ' (3)Book名に規則的な番号を振っておきそれから計算する。
  ' (4)印刷指示Bookを作ってページ数をカウントする。 など色々方法は考えられる。

  For pg = 1 To 7
    Worksheets(pg).PageSetup.CenterFooter = "- " & startPg + pg - 1 & " -"
  Next
End Sub
    • good
    • 0

とりあえずひとつのブックにまとめて


だから1ファイルにシートが245枚(ですか?)にして
シートのタブ右クリックでシートの全指定して
それからフッターの設定でもして
一気に印刷なんて方法くらいしか思い浮かばないです(^^;
多分僕が同じことをやろうとおもったらそうやるんだろーなと(笑
でも35枚分を移すのも大変ですね(^^;
全シート指定してだから34回移動かコピーを
やらないといけないんですもんね(^^;
    • good
    • 1
この回答へのお礼

ありがとうございます、すごく簡単なのに、その方法は、
全然思い付かなかったです。数個のファイルの時は、
それで解決できそうです。少ない時は、それでやってみます。

お礼日時:2001/09/13 11:06

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