[[20240409220350]] 『印刷範囲』(yy) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『印刷範囲』(yy)

教えてください

間違っていたらすみません

.FitToPagesTall = False
横を取得するで False
横BからHまでの縦の範囲のみで印刷したいのですが

全てのコードです

Sub A_ボタン1_Click()

With Worksheets("A ").PageSetup

.Zoom = False
.FitToPagesTall = False
.FitToPagesWide = 1
.PrintTitleRows = "$2:$3"

End With

Worksheets("A ").PrintOut Preview:=True

End Sub

訂正有りましたら他にもよろしくお願いします

よろしくお願いします

< 使用 Excel:Excel2021、使用 OS:Windows11 >


 済みませんが、質問は何でしょうか?
 あなたの意図が達成できていない点は何か、はっきり書いてください。
(xyz) 2024/04/09(火) 23:09:57

Aからkまでの列に文字が入ってしまっているのですが
これをこのコードでプレビューを見ると入力されている
kまで印刷範囲が設定されてしまいます。
これをAからHまでに印刷範囲にしたいの
ですがどうしてもKまで入力されているので印刷範囲がHまで
の列で納めることが出来ません
どの様なコードを追加すればAからHまでの列に指定できますか?
よろしくお願いします。
(yy) 2024/04/10(水) 00:35:40

 「印刷範囲の設定」がされていないからじゃないでしょうか。
 設定する動作を行って、それをマクロ記録すれば、骨格のコードが得られます。
 試してみて下さい。
 PrintAreaプロパティを使うことになりますね。

(xyz) 2024/04/10(水) 00:53:54


あらかじめ改プレビューで縦に何ページを作っておけば出来ること
はわかっているのですがこの様にしてしまうと印刷プレビューを
上のコードで開いた時何ページも指定されてしまいます。
何もしない状態で1ページを指定したままですと行を追加して
印刷範囲が増えても2ページ分なら2ページ3ページ分なら3ページ分
しか表示されないですみます。
回避する方法ないでしょうか?

(yy) 2024/04/10(水) 01:29:16


 印刷範囲を設定する必要性は理解いただいたでしょうか。
 それには、印刷範囲がどこなのか説明が必要です。
 予想はありますが、データとの関係を織り込んで念のため説明していただきたいです。
(xyz) 2024/04/10(水) 07:27:38

 質問者さんの提示を待ってと思っていましたが、反応無いのでコメントします。 

 H列より右の列も印刷されてしまって困っているんですよね?
 印刷範囲を設定しない限り、いつまで経っても、
 データのある列すべてが横1ページに収まって印刷されることから逃れられません。

 >  何もしない状態で1ページを指定したままですと行を追加して
 >  印刷範囲が増えても2ページ分なら2ページ3ページ分なら3ページ分
 >  しか表示されないですみます。
 いったい、何を優先しようとしているんですか?
 一番重要なのは「印刷範囲の設定」じゃないですか?

 予め多めにとっておけなどと申し上げていません。
 マクロ実行するんですから、その中でデータがある最終行を求めて、
 A4:H列の最終行 を印刷範囲に指定すればよいにでは? 
 (印刷範囲はデータがある最終行までという前提です)

 データのある最終行が明確にわかる列があるなら、
 Cells(Rows.Count, その列).End(xlUp).Row 
 で最終行がわかります。
 普通はこういうことが多いですね。
 (最終行は頻発するので、ご存じではないですか)

 一概にどの列が最終行かは決まらない、ということなら、
     lastRow = Columns("A:H").Find("*", , xlValues, xlPart, xlByRows, xlPrevious).Row
 とすれば求まります。

 >横BからHまでの縦の範囲のみで印刷したい
 >これをAからHまでに印刷範囲にしたい
 どっちですか? Aからとして以下書いています。

 Sub test()
     Dim lastRow As Long
     lastRow = Worksheets(1).Columns("A:H").Find("*", , xlValues, xlPart, xlByRows, xlPrevious).Row
     With Worksheets(1).PageSetup
         .PrintArea = "$A$4:$H$" & lastRow
         .Zoom = False
         .FitToPagesTall = False     '  縦は自由
         .FitToPagesWide = 1         '  横は1ページに収める
         .PrintTitleRows = "$2:$3"
     End With
     Worksheets(1).PrintOut Preview:=True
 End Sub
 # ワークシート指定は修正してください。
 # これ以上のことは持ち合わせませんので、これで失礼します。

(xyz) 2024/04/10(水) 11:46:02


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.