MW211 EXIT

devlog
ExcelVBA/固定頁の印刷設定
2019年12月11日
一頁目と同じサイズの二頁目以降がある場合に、印刷範囲を設定する方法
┌──────────────────────────────────────┐
│Sub 頁印刷範囲設定()                                                        │
│    Const 列数 As Long = 10                                                 │
│    Const 行数 As Long = 60                                                 │
│    Const 頁数 As Long = 5                                                  │
│    Dim i As Long                                                           │
│    With ActiveSheet                                                        │
│        ' ①念のため(頁数設定ではなく)拡大率設定にする                      │
│        .PageSetup.Zoom = 100                                               │
│        ' ②任意の改頁を全クリアする                                        │
│        .ResetAllPageBreaks                                                 │
│        ' ③一旦、印刷範囲を一頁目に絞る                                    │
│        .PageSetup.PrintArea = Range(.Cells(1, 1), .Cells(行数, 列数))      │
│        ' ④自然な改頁をすべて除去する                                      │
│        If .VPageBreaks.Count > 0 Then                                      │
│            .VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1    │
│        End If                                                              │
│        If .HPageBreaks.Count > 0 Then                                      │
│            .HPageBreaks(1).DragOff Direction:=xlDown, RegionIndex:=1       │
│        End If                                                              │
│        ' ⑤印刷範囲を最大にする                                            │
│        .PageSetup.PrintArea _                                              │
│            = Range(.Cells(1, 1), .Cells(行数 * 頁数, 列数))                │
│        ' ⑥任意の改頁を決まった行ごとに設定する                            │
│        For i = 1 To 頁数                                                   │
│            .HPageBreaks.Add Rows(i * 行数 + 1)                             │
│        Next i                                                              │
│    End With                                                                │
│End Sub                                                                     │
└──────────────────────────────────────┘
分類:ExcelVBA