• ベストアンサー

ExcelVBAでのページ番号設定について

Excel2010のVBAで資料作成のツールを検討しています。 印刷をする際、ページ番号をつけたいのですが ブック全体ではなくシート個別で印刷する場合もあるし、 ツールを実行するたびにページ数の増減もあるため、 どうやってVBAでページ番号をふったら良いのかわかりません。 アドバイスをお願いいたします。 なお、Excelファイルの中は複数シート、1シート複数ページの状態です。

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

>総ページ数10ページで5ページ目だけを印刷したい場合もあるのですが、 >ページ番号を計算して書き込んでおくことは可能なのでしょうか。 5ページ目を5ページとして印刷するので有れば何の設定もいらないのでは それとも5ページ目だけを1ページとして印刷するのであれば With ActiveSheet.PageSetup   .FirstPageNumber = -3 '先頭のページ番号   .RightHeader = "&P" End With ActiveSheet.PrintOut From:=5, To:=5, Preview:=True '5ページ目を印刷

komegu_66
質問者

お礼

いただいたヒントを参考に解決できました。 ありがとうございました。

komegu_66
質問者

補足

回答ありがとうございます。 説明がうまくできずすみません。 たとえばワークシートが2シートあった場合、2シート目だけを印刷しても ページ番号を"2"にしたいです。 また、ワークシートの数や1シートのページ数が可変のため、 資料を作成後、にそれぞれのページ番号を計算して付けたいと考えています。

その他の回答 (3)

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.4

いや、だから、印刷するページ番号をVBA上で指定させればいいん じゃないかと。Excelの印刷機能を直接使わずに。 例えば、印刷ページを入力させるセルを作れば、そこから数値は 得られますでしょ?その数値を使って印刷するマクロを動作させれば いいんです。 Excelの機能から印刷させた場合(印刷ページセルに入力が無い 場合)、ページ番号のセルに「正しい手順で印刷されていませんので、 ページ番号は出力できません」と印刷させることだってできますよね。 ページ番号がセルに設定されるんですから。

komegu_66
質問者

お礼

いただいたヒントを参考に解決できました。 ありがとうございました。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>ツールを実行するたびにページ数の増減もあるため、 >どうやってVBAでページ番号をふったら良いのかわかりません。 FirstPageNumberプロパティを使うと先頭ページ番号を設定できます。 [例]アクティブシートの右ヘッダーのページ番号を11から始めます。 With ActiveSheet.PageSetup   .FirstPageNumber = 11   .RightHeader = "&P" End With

komegu_66
質問者

お礼

いただいたヒントを参考に解決できました。 ありがとうございました。

komegu_66
質問者

補足

ご回答ありがとうございます。 総ページ数10ページで5ページ目だけを印刷したい場合もあるのですが、 ページ番号を計算して書き込んでおくことは可能なのでしょうか。

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.1

VBAが動いているなら、何もフッターを使わなくても、「印刷する シートの最下部中央セルに、ページ番号を直接計算して書き込む」 なんて方法で済むと思うんですが?

komegu_66
質問者

お礼

いただいたヒントを参考に解決できました。 ありがとうございました。

komegu_66
質問者

補足

ご回答ありがとうございます。 ページ番号が印刷できれば良いので、ご指摘いただいた内容でも大丈夫です。 が、総ページ数10ページで5ページ目だけを印刷したい場合もあるのですが、 ページ番号を計算して書き込んでおくことは可能なのでしょうか。

関連するQ&A

  • エクセル2000・シートごとのページ番号とページ数、ブック全体のページ番号と総ページ数

    エクセル2000についてお尋ねします。 ヘッダの右側に    ([シート毎のページ番号]/[シート毎のページ数]) フッタの中央に    ([ブック全体の通しページ番号]/[ブック全体の総ページ数]) を入力・印刷したいのです。 今までは手入力でフッタのページ番号のうしろに「+前のシートまでのページ数」、[ブック全体の総ページ数]の代わりに数値を直接入力していたのですが、1つのブックにつきシート数が20~60程度ある上にページの追加・削減があるので、もっと簡単なやり方があったら教えてほしいです。 VBAは、まだ勉強を始めたばかりで、ネット上で使えそうなVBAをコピーして自分のエクセルに貼ることしか出来ません^^; どうか、よろしくお願いします。

  • EXCELで異なるbookを印刷する時のページ連番について

    初心者です、よろしくお願いします。 (EXCEL2000使用です) 1つのフォルダに複数のEXCELファイルがあります。 仮に.. book1,book2,book3とします。 それぞれのbookに複数のsheetがあります。 仮に.. sheet1,sheet2,sheet3とします。 フッターにページ番号をつけて印刷しますが、異なるbookの時に続けて連番表示をしたいと思います。 book1(sheet1~sheet3)が1ページから3ページ book2(sheet1~sheet3)が4ページから6ページ book3(sheet1~sheet3)が7ページから9ページ このような事は可能でしょうか? (sheetは常時増減しますので、book2はいつも4ページからとは限りません。又、データが多いので1つのBookにもまとめたくないです) 以上よろしくお願い致します。

  • エクセルのページ番号について質問です

    エクセルでシートが9枚でページとしては14枚です。 印刷をブック全体にしてもフッターのページ表示は 1/14から、通常では2ページなのに1/14、3ページなのに2/14とページ番号は各シート毎のページ数になってしまいます。 連続したページ番号にしたいです。どなたか教えてくださいお願いします

  • Excel2000でのフッタのページ番号の設定について

    Excel2000でのフッタのページ番号の設定について Excel2000でフッタに任意のページ番号を割り振るには、どうしたら良いでしょうか。 ワークシートの印刷1ページ目をページ番号20、続く印刷2ページをページ番号21・・・といったようにしたいです。

  • エクセル 改ページプレビュー ページ番号設定

    改ページプレビューで表示されるグレーのページ番号の設定について質問です。 100ページの書類を Aシート:1~50ページ Bシート:51~100ページ と分けて作業しています。 画面上で全体の通し番号が分かるように改ページプレビューを使用したいのですが、シートが変わるとページ番号は新たに1ページ目から表示されてしまいます。 Bシートに51ページから表示する方法はありますでしょうか? よろしくお願いします。 使用環境:Excel2003

  • Excel2002両面印刷

    Excel2002で1シート複数ページの両面印刷は出来るが1シート1ページの複数シートをブック全体で両面印刷が出来ず片面で印刷されます。印刷方法を教えてください。

  • エクセルのページ番号の付け方

    ブック内に4シートありそれぞれ1ページずつシートがあります。 この条件で2番目のシートのみを印刷した場合でもフッターのページ番号に「2/4」と印刷するにはどのような設定をしたらよいでしょうか。 但し、シート数は今後も増える可能性があります。 宜しくお願い致します。

  • Excel等、同一の大きさでページを振る方法

    100ページ位のEXCELの資料があります。 複数のBook(20弱)に分かれていて ページフッターがあるもの、縮小しているもの、 複数シートに別れるものなどさまざまです。 この資料に統一のページ番号を振ることは可能でしょうか? 各Excelに値としてページを入力しても各資料で拡大縮小率が違うので大きさが違ってきてしまいます。 Microsoftバインダーを使ってみたのですが、 ページフッターが削除されてしまうためうまくいきませんでした。 また、客先等で印刷することも考えられるので あらかじめ紙にページを降っておくこともできません。 何か良い方法があれば教えてください。

  • ページ番号の設定

    今現在エクセルでブックに50枚ほどのシートがあります。 2枚のシートを1枚の用紙に出力し、ページ番号を割り振りたいのですが、用紙の左側は左下に、右側は右下に(本のような感じ)ページ番号を割り振りしたいのですが、どのようにすればよいでしょうか?

  • エクセルで複数シートまとめてページ設定する方法

    エクセル2000を使っています。 複数シートのページ設定をまとめてやろうと思い、シートタブを右クリックして「すべてのシートを選択」を選んでページ設定を行ったのですが、印刷の「オプション」については複数ページに設定ができません。 また、複数シートを印刷するにあたって、印刷の画面で「ブック全体」を選び、プリンタの「プロパティ」で印刷設定を変更したのですが、この場合も印刷設定の変更が1つのシートにしか反映されません。 複数シートの印刷設定をまとめて行いたいのですが、どのようにすれば良いでしょうか?

専門家に質問してみよう