- ベストアンサー
Excelの改ページ 同シート内で複数の改ページの設定
同じシート内で多くの改ページを設定しなければならない場合 1ページ毎に設定していかないといけないのでしょうか? それとも改ページしたいデータで並び替えて、同データのある行で改ページを分割していくのは可能でしょうか? たとえばA列に上から111112223333344455555とある場合に自動的に1と2の間、2と3の間、3と4の間、4と5の間にそれぞれ自動的に改ページを入れたいのですが・・・
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
マクロなら入力している値が変わったところに「改ページ」を挿入することが可能です。 「マクロはNG」なら手作業で1カ所ずつ挿入する必要があります。「プレビュー」→「改ページプレビュー」を利用すれば、改ページ位置の変更を、多少、楽に操作できるかもしれませんが、行数が多いならこの方法でも大変だと思います。 A列の値が変わったら改ページを挿入するマクロのサンプルは以下になります。 以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はワークシート画面に戻ってALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。 Sub Macro4() Const col As String = "A" '改ページを判断するデータの列名 Dim idx As Long Dim sv sv = Cells(1, col).Value For idx = 1 To Cells(65536, col).End(xlUp).Row If Cells(idx, col).Value <> sv Then ActiveSheet.HPageBreaks.Add Before:=Rows(idx) sv = Cells(idx, col).Value End If Next idx End Sub でも実際のシートはそんなに単純ではないと思います。質問文に具体的な指示がないので、100%期待に添えるとは思いませんが、「ご参考まで」にどうぞ。 なおマクロの実行結果は「UNDO」で戻せませんので試しに実行するなら、シートは必ず保存しておいて、元に戻せるようにしておいてください。
その他の回答 (3)
- hyorono
- ベストアンサー率30% (7/23)
たびたびすみません^^; 他のアイデアです。 全ページ同じ位置での設定でかまわないのであれば、 1)まずSheet1に、改ページの設定をします。 2)そのページを、必要な分だけコピーします。(Sheet1(2)・・・) 3)コピーした(改ページ設定済みの)Sheet1(2)に、もともとあったSheet2の内容を貼り付けます。 逆転の発想ですが、いかがでしょうか??
お礼
ありがとうございます。 すべてが同じ位置であればよかったのですが、すべてが違う位置なので…
- hyorono
- ベストアンサー率30% (7/23)
こんにちは。 質問者さまはマクロの記録ができますか? できるならば、Sheet1の改ページの設定を記録させて、 次ページからはマクロを実行すれば、だいぶ手間が省けます。 ただ、マクロの記録ですと全ページ同じ位置に改ページが設定されてしまうので、 もしもページごとに違う位置に設定したい場合はVBAを組むしかないですね。
お礼
ありがとうございます。 すべて同じ位置ではないので手作業でします。 VBAは無理なんで・・・
- kjtyn7
- ベストアンサー率24% (300/1223)
Data作成中のPage設定は不要です、印刷するときだけ、印刷プレビューで設定すれば良いです。
補足
すいませんよくわからないのですが・・・ 印刷プレビュー時に改ページの設定ができるのですか? それは、1ページずつ設定する必要はないのですか?
お礼
できました!これで作業がスムーズに進みます。 ありがとうございました。