質問
2020年7月30日木曜日 12:07
行を非表示にして画面上見えないようにし、当然印刷対象にもしたくない。
行を非表示にしたのはVBAで
With ActiveSheet
.Rows("154:204").EntireRow.Hidden = True
1ページ全体です。これはひとつのシートにA4数ページの用途のちがう
書式があって、あるときはこの書式は使わないというときボタンを押して
画面上非表示としてはじめからなかったものとして使うという使い方、
または、後方セルへ集計値を出力するがあるときは2ページ使うがあるときは
1ページで済むというとき、2ページめは初めからなかったものとして非表示にしておく
当然印刷したとき、空白ページなんかいらないのです、しかし現実には印刷プレビューで
空白ページが表示されます。
「EntireRow.Hidden = True」だけでは画面上だけなのでしょうか
印刷対象にもしないように、したいのです。よろしくお願いします。
すべての返信 (3)
2021年3月7日日曜日 6:15 ✅回答済み
すみませんでした。この件は解決しました。
解決策は新しいブックで作り直したという方法です。
後で考えるとブックではなくシートを作り直してもよかったかなと思います。
どこか見えないところに印刷すべきか否かを持っている部分が
非表示になっても印刷するところだと判断するというような
「ゴミが残っていて・・」というようなことでした。
連絡を忘れていて申し訳ありません。
ときどき、ちょっと;ているからこれをベースに作り始めようなどと
古いExcelを使うということがありました、そういうことをしたかも。
そのときダメ元と思い、試行錯誤しましたが、すみませんでした。
2020年7月31日金曜日 1:29
直接の回答ではありません。
印刷範囲を指定するのは知っているが、EntireRow.Hidden = Trueだけ、もしくは何かオプション追加など他の簡単な方法で何とかならないかということでしょうか?
(参考)印刷範囲を指定する
PrintArea プロパティ (Excel)
/ja-jp/office/vba/api/excel.pagesetup.printarea
★良い回答には質問者は回答済みマークを、閲覧者は投票を!
2020年7月31日金曜日 12:03
ちょっとパニック気味に質問してしまいました。
同じシートでこの方法でうまくいっているところがあったのですが
急にできなくなったと思ってしまいました。しかし現時点でうまく
いっているところはそのままです。
このシートはA4の紙に印刷する前提で
行番号が001~051 書式A
052~102 書式A'
103~153 書式A''
154~204 書式A'''
205~256 書式Bの1ページめ
257~308 書式Bの2ページめ
309~357 書式C
というかたちにしているのですが、257行め以降はEntireRow.Hidden = True
で思った通りのことができていたのです。
その後A'やA''やA'''を非表示にする機能をつけ足したところ動かないと
なってしまってあわてました。
しかし、テストしてみたところ、VBAではなく手作業で行を非表示にしても
62~102,103~153,154~204は印刷プレビューに空白ページになるが
257~308,309~357は手作業で非表示にしても印刷プレビューに空白ページは
無く、総ページ数も少なくなるという結果なのです。
よってVBAの問題ではなくExcelの問題だと思うので、別の(元の)ところに質問することにします。
問題あればご指摘ください。
Excel2016のところ(Officeのころ)で質問をしたら、 返信をくれた人から
VBAに関しての専用のフォーラムに投稿しろとのことでここへ来たのですが
上記の通りでもとのところに戻ります。上記の現象を確認したのは先ほどなので
始めのOfficeへの質問時はわかっていませんでした。
別の話ですが、列を非表示にもしているのですが(動作テストする最初から)、これは
全く印刷プレビューにも出てきませんから問題ありません。問題ないというより
非表示=印刷対象でないという考えで作られているということだと思います。
余談です、昔(いつのころか忘れましたがExcel95,97,2000のどこかで)のことですが、
非表示の列を右側(列番号の後ろの方)に作っていて、はじめは印刷プレビューにも
出ずよかったのですが、あるころから空白ページが出るようになり、
非表示列(隠し列と私は呼びます)を左側(列番号の若い方)に確保するようにして
問題なく使えています。
しかし左側というのは余分に余分に確保しないと、本来の書式の列番号
が変わってしまうので本当は右側に置きたいのですが。