• ベストアンサー

シートのセルに[ページ数/総ページ数]を入れたい

ページのフッダー&ヘッターの設定ではなく、シートのセルに[ページ数/総ページ数]を入れたい。 1シートにつき1ページ分の範囲のみ記入されたシートが複数シートあります。 「総シート数=総ページ数」、「1シート=1ページ」でシートの並び順にページ数とする時に、それぞれのシートのセルに[ページ(シート)数/総シート数]と入れたい場合は、どのように設定すればいいでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

関数で,そういう事ができるものは一つもありません。 簡単にできるという意味では,ヘッダ(或いはフッタ)の表示位置をワークシートの表領域に重なるところまで下げてしまい,印刷するとあたかもそこに数字を記入してあるように「ページ番号/総ページ数」が印字されるよう調整してしまうのが,もっとも確実で結果を出せる方法です。 「印刷」とは無関係に「左から数えてシートの枚数/総シート枚数」をセルに記入したいなら,たとえばマクロを使って次のようにしてしまうのも一つの方法です。 手順: ALT+F11を押す 現れた画面でCtrl+Gを押す 現れたウィンドウに for i = 1 to worksheets.count : worksheets(i).range("A1") = "'" & i & "/" & worksheets.count : next と記入してEnterする #この内容で作成したマクロをブックに登録して利用しても,勿論構わない。 別のタイプのマクロを使った手順: 挿入メニュー(または数式タブ)の名前の定義で  名前 枚数  参照範囲 =GET.WORKBOOK(4+NOW()*0)  名前 シート  参照範囲 =MATCH(GET.DOCUMENT(1),GET.WORKBOOK(1),NOW()*0) と定義し,セルには =シート&"/"&枚数 と数式で記入する。 #シートを挿入・削除した直後は再計算されないので,F9キーを押すこと。

monozukuri30
質問者

お礼

お礼が遅くなりました。できました。ありがとうございます!

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

シート総数はVBAでは簡単 Sub test01() Cells(2, "A") = Sheets.Count End Sub ーーーーー 印刷したときのページ総数は、 Sub test02() Dim PPage As Integer Sheets("sheet1").Select PPage = Application.ExecuteExcel4Macro("get.document(50)") Cells(5, "A") = PPage End Sub http://support.microsoft.com/kb/402754/ja エクセル4.0マクロというもので(マニアの話には出てくるが)、使わないほうが良いだろう。しかし単純に出す方法はない。 Googleででも「vba 印刷ページ数 取得」で照会したら、過去の質問など出てくる。 PageBreakやデータ範囲で計算するか。 (縦ページ線+1)X(横ページ線+1)で計算するとか。 ーー なお上記コードの結果の数は、印刷関連設定情況で変わるので、上記コードの実行時での情報である。 改ページ線を動かすなどは、都度行われうるので。 ーー このへんのヘビーユーザーではないので確信がない。 初心者なら避けて通るべき問題領域だと思う。 印刷プレビューで調べて、セルに入力するとかで凌ぐとか。 ーーー >総シート数=総ページ数」、「1シート=1ページ」でシートの並び順にページ数とする時に はんあんの意味? 1シート1ページに収まることが前提なら、 Sub test03() For Each sh In Worksheets MsgBox sh.Name sh.Cells(1, "D") = sh.Index Next End Sub で理屈では出せる(各シートのD1セルにシートタブの左からの順番数を入れた)が、できるというだけ。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

セルに入れる方法はマクロ以外では存じませんが、マクロを使わずともフッターではいけませんか? 1・すべてのシートを選択します。(Ctrlキーを押したままでシートタブを順にクリックすれば複数シートを選択できます。) 2.ページ設定でフッターを 1/?ページ にします。 これで設定されました。 1シートづつ印刷すれば1/1となりますが、すべてのシートを選択して印刷すると[ページ(シート)数/総シート数]が一番下(フッター)にプリントされます。

関連するQ&A

  • あー、もうっ。こんなソフトないですか?エクセルシートのページ数。

    エクセルシートであるソフトのマニュアルを 作っています。 シートごとに、ページ数がフッダ-に書いてあります。 目次もあります。 今、ある変更があって差替えなどが多く発生したと します。すると、ページ数のフッダーをいちいち 開いて編集していかないといけません。 目次を直すのも一苦労です。 望みとしては、エクセルのフッダーにページ数を 書かずに、いくつかのエクセルシートを複数 選択すると、そのヘッダーに通番でページ数を つけてくれるソフト。 ●エクセルシートがいくつか存在して、 それを選んで、簡単に目次を作ってくれて、 ページ数までつけてくれる。そんな夢のような ソフトを探しています。 どなたかよい方法ないか教えてください。 宜しくお願いします。

  • 全てのフッダーに連番ページ数をいれたい

    シートが50くらいあるBOOKのフッダーに連番を振りたいです。 一枚づつフッダーの中央に「- 1 -」「- 2 -」というように入力していたのですが、シート全体を選択してページ設定をして上書き保存してしまってから、すべてのシートが同じページ数になっている事に気がついたんです。 どうしたらヘッダーに連番を振ることができますか? エクセル2000です。宜しくお願いします。

  • エクセルでページごとにシートをかえたいが・・・

    エクセルについてです。決まった型紙を作り、それに部下が文章を記入して提出してきますが、一枚のシートに複数ページ分が記入されています。 これを、ページごとに別シートにするには、新しいシートを右クリックで作り、自分で範囲を選択して張り付けるしかないのでしょうか? というのも、そうするとせっかく揃っている列や行の幅などが狂ってしまい、直すのに時間がとられるのです。 単なる表なので、計算式などは使っていません。

  • EXCELのフッダーでページ数を記載する方法

    EXCELの同一タグ内で複数のページがある場合、フッダーでページ数を記載させることは可能でしょうか?やってみますと、すべて同じページになります。

  • エクセルのシートにページ数をつけて印刷するには?

    よろしくお願いします。 エクセルのシートにページ数をつけて印刷したいのですが、 手動でセルに数字を書き込む以外にやり方はあるでしょうか? シート1には1ページ、シート2には2ページというように ページ数をつけて印刷したいと思っています。 教えてください。 よろしくお願いします。

  • 複数シートのセルの 記号の数を数える

    複数のシートの同じ列に・・・セルに○と◎が 入力されてるとします。 複数のシートの集計をしたいので ○の数だけ数えたいのですが。どのようにすればいいでしょうか? ○ではなく 数字は わかるのですが…よろしくお願いします。

  • Excelでの複数シートにまたがるページ番号

    データが複数シートにまたがっています。 シート1、シート2、シート3に、それぞれ2ページ分のデータがある場合、 合計ページ数は6ページです。 その時、シート1の2ページには 「1/6」 「2/6」 シート2の2ページには 「3/6」 「4/6」 シート3の2ページには 「5/6」 「6/6」 とページ番号を打ちたいのですが、それは可能でしょうか? やってみたのですが、よく分からなくて・・・・・・ 何か、関数などを利用してでもできるようでしたら、教えてください。 よろしくお願いします。

  • EXCELでフッターにページ数

    EXCELでフッターにページ数を入れる時の質問です。 同ブック内の複数シートをまとめて印刷します。全体通してのページ番号と、シート内でのページとをフッターに印刷したいのですが、どうしたらよいでしょうか。 例)1シート目→1P   2シート目→3P   3シート目→1P ある場合、まとめて5ページ印刷し、 フッターには 1枚目→ 1、   2枚目→ 2-1/3、 3枚目→ 3-2/3、 4枚目→ 4-3/3、 5枚目→ 5 と、こんな感じに表示させたいのです。 2シート目のページ設定に &[ページ番号]/&[総ページ数]と設定すると 1枚目→ 1、   2枚目→ 2-2/5、 3枚目→ 3-3/5、 4枚目→ 4-4/5、 5枚目→ 5 となってしまいます。 わかる方、よろしくお願いいたします。  

  • excel97で1ページだけ印刷したい。複数シートで・・

    こんにちは。 excel97で1シート辺り4ページの印刷数になってしまうファイルで、 1ページ目だけ印刷したいのですが、シート数がかなり多いため一括で行いたいと 思っております。 複数シート選択→メニュー→印刷→ページ指定→開始1→終了1 上記では出来ないようですが、何か方法は有りませんか? また、複数シートの印刷範囲設定を一括で変更出来ればそれでも良いのですが・・ 宜しくお願いいたします。 EXCEL97 SR-1

  • エクセル シートのページ数を返す方法

    エクセルでシートのページ数を特定のセルに返す方法はありますか? 1日ごとに提出する書類がありそこに、延べ日数として入力する欄があります。 シートの数=延べ日数になるので 1シート=1日 2シート=2日 3シート=3日 のようにシートのページ数を指定したセルに返す方法があれば教えていただきたいです。 Sheets()は不可です。シートの枚数を返したいわけではないので。

専門家に質問してみよう