Excel VBA 質問スレ Part83 (611レス)
Excel VBA 質問スレ Part83 http://mevius.5ch.net/test/read.cgi/tech/1749348402/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
313: デフォルトの名無しさん [sage] 2025/07/01(火) 00:25:06.97 ID:AnMu1HLz Chatさんに聞いてみたけど面倒くさそう。 ' 例:20行目の上に改ページ(21行目から新しいページ) 余白2cm Sub 印刷設定サンプル() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") With ws .ResetAllPageBreaks .HPageBreaks.Add Before:=.Rows(21) With .PageSetup .PrintTitleRows = "$1:$3" .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False .Orientation = xlPortrait .PaperSize = xlPaperA4 .LeftMargin = Application.CentimetersToPoints(2) .RightMargin = Application.CentimetersToPoints(2) .TopMargin = Application.CentimetersToPoints(2) .BottomMargin = Application.CentimetersToPoints(2) .CenterHorizontally = True End With End With MsgBox "印刷設定を適用しました。" End Sub http://mevius.5ch.net/test/read.cgi/tech/1749348402/313
314: デフォルトの名無しさん [sage] 2025/07/01(火) 00:32:33.67 ID:AnMu1HLz 続き。こういうのも多分いるよね。 指定した行数がA4印刷1ページに収まるかを調べ収まらない場合は改ページを設定する 各行の高さを合計して、ページ内に収まるかを判定。A4の印刷可能範囲の高さ(ポイント単位)と比較。オーバーするならその直前に 改ページを入れる。 A4用紙の印刷可能な高さ(おおよそ) A4縦の高さ:29.7 cm = 約842 pt 上下余白(例):2cm + 2cm ≒ 113 pt(計) ⇒ 実質印刷可能範囲:約729 pt ※余白・ヘッダー・フッターにより変動 コード例 Sub 自動改ページ_行数と印刷高さを基準に() Dim ws As Worksheet Dim i As Long Dim rowHeightSum As Double Dim printHeightLimit As Double Dim lastRow As Long Set ws = ThisWorkbook.Sheets("Sheet1") ws.ResetAllPageBreaks ' 印刷可能な高さを計算(A4縦:842pt - 上下余白 約113pt) printHeightLimit = 842 - 113 rowHeightSum = 0 lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row For i = 1 To lastRow rowHeightSum = rowHeightSum + ws.Rows(i).RowHeight If rowHeightSum > printHeightLimit Then ' この行の直前で改ページを入れる ws.HPageBreaks.Add Before:=ws.Rows(i) rowHeightSum =ws.Rows(i).RowHeight ' 次ページの高さリセット End If Next i MsgBox "改ページを設定しました。" End Sub http://mevius.5ch.net/test/read.cgi/tech/1749348402/314
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s