
いつもお世話になっております
下記のコードは
印刷範囲の設定のコードです
添付ファイルのように 改ページの破線っていうのか
黄色い部分を消すコードわかる方おしえてくれませんでしょうか
印刷範囲はRange("B3").CurrentRegion.Addressで
20行おきに改ページを挿入したいのですが、
わかりません。
ActiveSheet.ResetAllPageBreaksでもきえないのです。
With ActiveSheet
.PageSetup.PrintTitleRows = "$3:$3"
.PageSetup.PrintArea = Range("B3").CurrentRegion.Address
End With

A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは
下記参考コードは少し曖昧さが残る 設定になります
改ページの破線はZoom 設定の問題だと思います
水平方向のPageBreakでは問題が残る可能性があると思います
印刷範囲Range("B3").CurrentRegionの20行目までを一旦 1ページとして
仮設定してZoom 設定を調整 その印刷倍率で
印刷範囲をRange("B3").CurrentRegionに設定し直し改ページを挿入する
手順のコードです
予め手作業でカラム方向を設定できるなら不要な処理かも知れません
.FitToPagesWide = 1 とする方法もあるかも知れませんが試していません
Dim buf As Integer
Dim i As Long
Dim printing_range As Range
Const pageBreak_lineCount As Long = 20
Set printing_range = Range("B3").CurrentRegion
With ActiveSheet
.PageSetup.PrintArea = ""
.ResetAllPageBreaks
With .PageSetup
.PrintArea = printing_range(1).Resize(pageBreak_lineCount, printing_range.Columns.Count).Address
.Zoom = 50
'Zoom設定参考サイト https://daitaideit.com/vba-zoom-fittopageswide/
Do
Application.PrintCommunication = False
.Zoom = .Zoom + 5 '5%だけ拡大する
Application.PrintCommunication = True
Application.PrintCommunication = False
buf = .Pages.Count 'ページ数を取得
Application.PrintCommunication = True
If buf > 1 Then '改ページされた場合
Application.PrintCommunication = False
.Zoom = .Zoom - 5 '5%だけ縮小する
Application.PrintCommunication = True
Exit Do
End If
Loop
.PrintTitleRows = "$3:$3"
.PrintArea = printing_range.Address
End With
'20行刻み改ページ設定
For i = 3 To printing_range.Rows.Count Step pageBreak_lineCount
.Rows(i).PageBreak = xlPageBreakManual
Next
End With
End Sub
いつもありがとうございます。
ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, regionindex:=1 このコード見つけました
ありがとうございます。
No.1
- 回答日時:
改ページを20行おきに挿入するには、以下のようにPageSetup属性のPrintTitleRows、PrintArea、そしてHPageBreaksオブジェクトを設定することができます。
With ActiveSheet
.PageSetup.PrintTitleRows = "$3:$3"
.PageSetup.PrintArea = Range("B3").CurrentRegion.Address
For i = 1 To .HPageBreaks.Count
.HPageBreaks(i).Delete
Next i
For i = 1 To Range("B3").CurrentRegion.Rows.Count Step 20
.HPageBreaks.Add BeforeRow:=Range("B3").Offset(i - 1).Row
Next i
End With
このコードでは、まずHPageBreaksコレクション内のすべての水平方向の改ページを削除します。次に、B3セルから現在の領域の最終行まで、20行ごとにループし、HPageBreaksコレクションに新しい改ページを挿入します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 改ページを挿入 1 2022/12/04 23:19
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Excel(エクセル) エクセルVBAで複数のシート印刷設定 1 2022/09/07 12:03
- Visual Basic(VBA) オートフィルタで抽出結果に 罫線をひく方法 1 2022/07/13 13:08
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) 【Excel】エクセルの1シートが2枚に分割されてしまうので印刷プレビューを押して閉 4 2022/12/13 13:12
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
JavaScriptの定数名が取り消し...
-
access2021 VBA メソッドまたは...
-
【VB6】実行ファイルとした後、...
-
Excel-VBAで、Importをする方法
-
System.Timers.Timer について
-
クエリ抽出において2つのフィー...
-
VSコードでバックスペースキー...
-
access2003 クエリSQL文に...
-
python random.choice について
-
1日に1人がこなせるプログラム...
-
4列ごとに ならびかえたい
-
COBOLの文法
-
Accessの文字列部分一致を合計...
-
PHPで無限ループしてしまっ...
-
JANコードとPOSコードは同じ?
-
Aのシートにデータがあり、Bの...
-
エクセルに見えない文字(JISX0...
-
エクセルVBA ユーザーフォーム...
-
Excel VBA素人です。VBAで図形...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1日に1人がこなせるプログラム...
-
access2021 VBA メソッドまたは...
-
JANコードとPOSコードは同じ?
-
Exel VBA 別ブックから該当デ...
-
Nullの使い方が不正です。
-
access2003 クエリSQL文に...
-
JavaScriptの定数名が取り消し...
-
オートフィルタで抽出結果に 罫...
-
PreviewKeyDownイベントが2回...
-
エクセルに見えない文字(JISX0...
-
VBAでファイルオープン後にコー...
-
Excelシート上で右クリックがで...
-
変数名「cur」について
-
Excel VBA素人です。VBAで図形...
-
【VB6】実行ファイルとした後、...
-
VBA 現在のセル番地を記憶、復...
-
COBOLの文法
-
ASCIIコードを文字に変換したい
-
wechatアプリについての質問で...
おすすめ情報
.HPageBreaks.Add BeforeRow:=Range("B3").Offset(i - 1).Row
ここの部分で黄色くなりました。