![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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
No.2
- 回答日時:
会社で同様なことを行っていますが機能だけでは困難なような気がします。
1772(QNo.65628)「エクセルで縦長のデータを紙の無駄なく印刷」のANo.#5で回答していますが、印刷用のシートを作れば問題なくできそうですね。会社ではページの下部にページ計や区分の小計を表示したり、最終ページのみに総計を枠の中に表示してくれとか依頼がありこの質問のようなことをやっています。
印刷シートには行タイトルとページの下部には指定されたデータをセットし、内部の明細行はマクロでデータを送り込んでいます。
1772のANo.#5のマクロはそのままにして、ページの下部をセットすればいいと思います。不明な点があれば補足して下さい。
この回答への補足
ありがとうございます。
しかし、ふだん初歩的な機能のみを使っているので
お恥ずかしい話しですがマクロって何?って感じです
もう少しわかりやすくお願いできないでしょうか?
それとも、初心者にはやっぱり難しいのでしょうか…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで謎の2枚目が印刷される
-
エクセルで白紙ページを消す方...
-
エクセルだけ印刷しても白紙です。
-
B5縦で作ったエクセル文書をA4...
-
エクセルの長い表を3列で印刷...
-
Excel 複数のシートの印刷順の...
-
エクセルのセルのパターン印刷
-
エクセルで1.3.5.7ページのみ一...
-
エクセルをメールに添付した時
-
エクセルで印刷するとき、連番...
-
【マクロ】オートフィルターのA...
-
エクセルのヘッダーを1枚目だけ...
-
数式による空白を無視して印刷...
-
VBAでホルダー内のPDFを一括印...
-
エクセルの全シートをPDFにでき...
-
エクセル 白黒印刷で白線を印刷...
-
エクセル 同じシートで印刷ペ...
-
エクセルで中心線を表示させる...
-
Excelのグレーの部分を戻したい
-
Wordのデフォルト設定を初期値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで謎の2枚目が印刷される
-
エクセル 同じシートで印刷ペ...
-
エクセルで白紙ページを消す方...
-
Excel 複数のシートの印刷順の...
-
差込印刷で郵便番号のハイフン...
-
エクセルで印刷するとき、連番...
-
数式による空白を無視して印刷...
-
エクセルだけ印刷しても白紙です。
-
VBAでホルダー内のPDFを一括印...
-
エクセルを最初からA4の大きさ...
-
エクセルの全シートをPDFにでき...
-
B5縦で作ったエクセル文書をA4...
-
エクセルで空白の部分を印刷範...
-
エクセル 2upできません。
-
エクセルから帳票形式に差込印...
-
エクセルで図形やオートシェイ...
-
EXCELで段組みできますか?
-
縦一列の表を縦三列にして印刷...
-
エクセルの長い表を3列で印刷...
-
Excelで印刷すると、ルビがずれ...
おすすめ情報