こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2015-03-18 11:39:40

QNo.8938112

困ってます

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

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

投稿日時 - 2015-03-22 11:04:15

補足

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

投稿日時 - 2015-03-23 15:12:19

お礼

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

投稿日時 - 2015-03-27 10:19:29

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

いや、だから、印刷するページ番号をVBA上で指定させればいいん
じゃないかと。Excelの印刷機能を直接使わずに。

例えば、印刷ページを入力させるセルを作れば、そこから数値は
得られますでしょ?その数値を使って印刷するマクロを動作させれば
いいんです。

Excelの機能から印刷させた場合(印刷ページセルに入力が無い
場合)、ページ番号のセルに「正しい手順で印刷されていませんので、
ページ番号は出力できません」と印刷させることだってできますよね。
ページ番号がセルに設定されるんですから。

投稿日時 - 2015-03-24 10:02:39

お礼

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

投稿日時 - 2015-03-27 10:19:51

ANo.2

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

投稿日時 - 2015-03-20 11:27:47

補足

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

投稿日時 - 2015-03-20 17:32:56

お礼

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

投稿日時 - 2015-03-27 10:19:58

ANo.1

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

投稿日時 - 2015-03-18 11:52:02

補足

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

投稿日時 - 2015-03-20 17:32:33

お礼

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

投稿日時 - 2015-03-27 10:19:39

あなたにオススメの質問