• ベストアンサー

エクセルのタイトル

エクセルの最初の行を改ページしても、印刷したい場合は ページ設定で、行のタイトルで設定するのはわかるのですが、 最初の行と最後の行両方を繰り返し印刷できるようにしたいんです よい方法がありましたら、よろしくお願いします。 ちなみにエクセル97をつかってます。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

このような表を想定してみました。手順を追って試してみてください。 <Sheet1>データが入力されているシート  <Sheet2>印刷用のシート     A   B   C   D       A   B   C   D  1 項目1 項目2 項目3 項目4  11   ***×××の明細表***  2 AA  A1    1 101  12 項目1 項目2 項目3 項目4  3 AB  A2    2 102  13 AA  A1    1 101  4 AC  A3    3 103  14 AB  A2    2 102  5 AD  A4    4 104  15 AC  A3    3 103           :                ┌─────────┐ 97 ZX  A9   97 197  16     │ページ計 3件  │ 98 ZY  A9   98 198         ├───┬─────┤ 99 ZZ  A9   99 199  17     │確認印│     │                            └───┴─────┘                     18       1/33 1.表のデータ列は4列あって、印刷は1頁に3行と仮定します。(変更できます) 2.表題部分と頁の下部を作成してください。 3.上の例でいえばSheet2のA11からD18が印刷範囲になります。 4.Sheet2のセル範囲A13:D15に範囲名pAreaを付けておきます。 5.フッタに頁を印刷するために18行目の任意のセルに範囲名pPageを付けておきます。 6.下のマクロをコピーして標準モジュールに貼り付けて下さい。    Const Prow = 3・・・1頁に印刷する行数    Const Pcol = 4・・・1頁に印刷する列数 を実際のシートからセットして下さい。     標準モジュールはメニューからツール→マクロ→Visual Basic Editor で     VBE画面を起動して下さい。     それからVBE画面で挿入→標準モジュールとします。 7.シートに戻って ツール→マクロ→マクロ でInsatu を実行します。    今は印刷プレビューです。PrintPreview→PrintOut とすれば印刷します。 Public Sub Insatu() Dim rg As Range 'データの基準位置 Set rg = Worksheets("Sheet1").Range("A1") Dim pArea As Range '印刷データ部分 Set pArea = Worksheets("Sheet2").Range("pArea") Const Prow = 3 '***これをセットする*** Const Pcol = 4 '***これをセットする*** Dim modePage As Integer '1頁印刷件数 Dim maxPage As Integer '最大印刷頁 ' Dim rw, cl, pgCot As Integer '行、列、頁カウンタ maxPage = Int((Worksheets("Sheet1").UsedRange.Rows.Count - 2) / Prow) + 1 For pgCot = 1 To maxPage For rw = 1 To Prow For cl = 0 To Pcol - 1 pArea.Cells(rw, cl + 1) = rg.Offset((pgCot - 1) * Prow + rw, cl) Next Next Range("pPage") = pgCot & "/" & maxPage ActiveSheet.PrintPreview '.PrintOut Next End Sub

goommm
質問者

お礼

ご丁寧にありがとうございます。 ちょっと難しそうですが、チャレンジしてみます。 ほんとうに、感謝です。

その他の回答 (2)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

会社で同様なことを行っていますが機能だけでは困難なような気がします。 1772(QNo.65628)「エクセルで縦長のデータを紙の無駄なく印刷」のANo.#5で回答していますが、印刷用のシートを作れば問題なくできそうですね。会社ではページの下部にページ計や区分の小計を表示したり、最終ページのみに総計を枠の中に表示してくれとか依頼がありこの質問のようなことをやっています。 印刷シートには行タイトルとページの下部には指定されたデータをセットし、内部の明細行はマクロでデータを送り込んでいます。 1772のANo.#5のマクロはそのままにして、ページの下部をセットすればいいと思います。不明な点があれば補足して下さい。

goommm
質問者

補足

ありがとうございます。 しかし、ふだん初歩的な機能のみを使っているので お恥ずかしい話しですがマクロって何?って感じです もう少しわかりやすくお願いできないでしょうか? それとも、初心者にはやっぱり難しいのでしょうか…

  • nao_s
  • ベストアンサー率0% (0/4)
回答No.1

ページ設定のヘッダー/フッターでは駄目でしょうか?

goommm
質問者

補足

すみません。言葉がたりませんでした。 行の最後もちょっとした表にしたいので、 エクセル形式にしたいんですが、やっぱりムリなのでしょうか?? 引き続きよろしくお願い致します。