- ベストアンサー
ExcelVBAの改ページの区切り位置が変更不可
- ExcelVBAの改ページの区切り位置を任意に変更する方法について教えてください。
- 現在、印刷プレビューを出す際、特定の行を改ページの区切り位置としたいのですが、うまく反映されません。
- HPageBreaksのAddメソッドを使用しても改ページの位置が変更されません。どうすれば任意の位置で改ページできるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
エクセルの基本機能として(=手動・マクロを問わず、という意味です)、たとえば「縦3×横1」のように「次のページ数に合わせて印刷」を設定すると、ユーザー定義の改ページは「無視」されます。 変更前: .PageSetup.FitToPagesTall = 3 '縦の枚数 変更後: .PageSetup.FitToPagesTall = false '縦の枚数は指定を解除し、ユーザー定義の改ページ(と成り行きによって自動改ページ)を優先する
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
>確かに指定した位置で改ページがはいっていますが、それ以外の所でも改ページされてしまいます。 : >表の終わりで改ページが勝手に入って、指定した19行で改ページされています FALSEにしたことで、19行とかに改ページを設定したのが現れましたね。 ということで、他の行にもあなたがあれこれ試してる内に設定して忘れてる改ページが埋まってた、のが同様に現れてきた状況と推測できます。 ご利用のエクセルのバージョンもご相談に書かれていませんので、どこを選んで何をクリックと手順を手取り足取りご説明できません。 手順: 「改ページプレビュー」表示にする(印刷プレビューではないので間違えない事) テキトーなセルを右クリックして「すべての改ページを解除」する 改めてマクロを実行する。 出来ない時は、余計な改ページを手作業で一つずつ解除する。 #ご相談投稿では、普段あなたがご利用のソフトのバージョンまでキチンと明記する事を憶えて下さい。
お礼
Excelのバージョンは2007とか2013とか色々使っています。 すべての改ページを解除でも変わりませんでした。手動でやろうとしても、点線が移動しなかったので、ページ設定で倍率を変えたら移動できました。85%になっていて、それ以上行を収めきれなかったようです。80%にした時思った位置まで行を収める事ができたので、下記コードを追加しました。 これでいけそうです。どうもありがとうございました。 .PageSetup.Zoom = 80
補足
false に変更したら、16行、19行、34行、37行、52行で改ページされてしまって6枚になってしまいました。確かに指定した位置で改ページがはいっていますが、それ以外の所でも改ページされてしまいます。 15行までが表になっていて、その間が表以外の項目があり、20行からまた表になっています。 表の終わりで改ページが勝手に入って、指定した19行で改ページされていますが、この辺りの調整はvbaでは、これ以上はしょうがないのでしょうか?