Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Home : Excel 2021)
表示スケールにより印刷可能行が変わってしまいます
投稿日時: 25/02/28 01:45:39
投稿者: やっ

WINDOWSのディスプレイの表示スケール(倍率)を変えているモニタで、100%で作ったレイアウトのものを印刷すると、縦方向に4行ほどずれてしまい、1ページに入る行数がずれてしまいます
請求書を作成しているので、まちまちになってしまい困っています(都度表示スケールを戻して印刷しています)
 
ネット検索で、PDF出力ならずれないという情報を見て実行しましたが、印刷と変わらないずれです
Microsoft Print to PDF では、プリンタのプロパティでもとくに設定項目はなく、
CubePDFというものを入れましたが色々いじってみたも変わりません
エクスポートからPDF/XPSドキュメントの作成もしたりオプションをいじってみましたが変わりません
 
VBAで表示スケールの倍率を強制的に変更したり、数値をみて余白を変更することはできないようです
(むりやりレジストリをいじればできないこともないようですがちょっと危険なのでできません)
 
個人で使うだけなら都度表示スケールを戻せばいいのですが、不特定多数が使うためむずかしいです
ファイルを開いたときに表示スケールを入力するフォームを表示させる、なども100%が普通なので
いちいち手間ですし、何を聞かれているかわからないひともいる可能性もあります
 
Wordに転記する方法も考えましたが、宛名や情報を記載した数行したに転記するとなぜかページ送りされて2ページ目から表がはじまったりしてうまくできませんでした
できるならEXCELで完結させたいです
なにかいい手はないでしょうか?

回答
投稿日時: 25/02/28 08:50:37
投稿者: Suzu

そもそもExcelは表計算ソフトであり、印刷を主目的としたソフトではありません。
 
印刷を主目的にするのであれば、先の WordやPowerPointの方が 適しています。
PDFにしても印刷元がExcelであれば、一緒でしょう。
 
今回のは、1ページ当たりの行数は あらかじめ決めてあるのでしょうか?
Excelの自動の改ページに任せているのではありませんか?
 
100% でも、125%でも、影響を受けない改ページ位置をそのワークシート側で設定しておいたらどうですか?
 
それでも対応できないのであれば、私ならWordへの差し込み印刷を試すでしょうか。

投稿日時: 25/02/28 17:33:22
投稿者: やっ

はい決めてあります
表計算ソフトであるEXCELでなんでもやる悪い癖で請求書を作っています
入力するシートが別にあり、印刷するシートのセルにリンクさせています
20行で改ページする(それが余白ギリギリです)ので、2Pに当たる部分にも社名などをいれ
5行ほどずらしてリンクさせています
3Pを超えたことはないので3P分そうしています
 
Wordもこころみたのですが、うまくできませんでした
こちらは差し込み印刷ではなくVBAでセル範囲をWordに貼り付ける方法です
1Pに配置するようにしているのに、何故か2P目に飛んでしまうのです

回答
投稿日時: 25/02/28 19:27:59
投稿者: simple

私も手元で125%に変更しPCを再起動してみましたが、印刷可能範囲は変化せず、
事象を再現できませんでした。
ですからチェックもできませんが、気づきをメモします。
 
(1)
100%では、仮に40行が対象になるとします。(たとえ話です)
125%では、仮に38行に減ったとします。(たぶん減るんですよね)
それを増やして40行にしたいと。
 
41行の前に改ページを設定しても、
1〜38行 で1ページ目
39〜40行で2ページ目
41〜48行で3ページ目
・・・
となるだけではないですか?
改ページの設定でうまくいくのは、減る方向に修正したい場合であって、
増やしたい場合はうまくいかないのでは?
 
(2)
それならいっそのこと、1ページごとに1シートと考え方を変えて、
拡大縮小印刷指定で、「縦1ページ、横1ページ」の指定をしてはどうですか?
これなら収まります。ただし、各シートの文字の大きさ等が揃わなくなることは考えられます。
 
(3)
上記がなんらかの事情で受け入れ不能であれば、
運用での対応です。
この仕事をする場合は、必ず100%に戻して下さい、
とブックを起動する際に注意喚起する仕組みにすることでしょう。

投稿日時: 25/03/01 15:34:15
投稿者: やっ

170%程度にすると100%であわせたものが下にずれます
本来40行が1Pにはいるはずなのに5行ほどが2Pにきます
 
複数のPCでためしましたがWINDOWSの自体のスケールを変えると確実に発生します
simpleさんの場合はたぶん125%程度と拡大率が少なかったので再現しなかったのだと思います
 
おもに4Kをつかうときに、WINDOWS全体のUIが小さくなりすぎるため、スケールを拡大しています
それでEXCELを開くと質問のとおりとなってしまうということです
もちらん2kのモニタでも倍率を上げれば同じ結果になります
 
ご指摘の通り、運用のルールで対応するしか対策はなさそうですね

回答
投稿日時: 25/03/01 16:31:14
投稿者: hatena
投稿者のウェブサイトに移動

他の方から指摘もありますが、エクセルではシート上の表示と印刷結果が同じになるとは限らないと思った方がいいです。
 
印刷する帳票は、私ならAccessのレポートを使って印刷します。
ただ、敷居が高いと思いますので、Wordで帳票のテンプレートを作成しておいて、
差し込み印刷かVBAでデータを挿入するのを提案します。
 

やっ さんの引用:
Wordもこころみたのですが、うまくできませんでした
こちらは差し込み印刷ではなくVBAでセル範囲をWordに貼り付ける方法です
1Pに配置するようにしているのに、何故か2P目に飛んでしまうのです

 
セル範囲をWordに貼り付ける方法というのが問題なのでは。
差し込み印刷かVBAで一つずつデータを挿入していくという方法がいいのでは。
 
 

トピックに返信