PageSetupオブジェクトについて
PageSetupオブジェクトのプロパティを変更することで印刷設定を行うことができる。
With Worksheets("Sheet1").PageSetup.
'横向き印刷
.Orientation = xlLandscape'A4
.PaperSize = xlPaper A4
'拡大縮小無し
.Zomm = False
'横幅を指定ページに収める
.FitToPagesWide = 1
'タイトル行
.PrintTitleRows = "$1:$1"
End With
印刷範囲設定(PrintArea)
Cells(1,1)からCells(最終行,最終列)の範囲を印刷範囲とする。
L列までを一ページに収まるようにして、1行目を印刷タイトルにする。
Sub 印刷範囲設定()
Dim Row As Long
Dim Column As Long
Dim myRange As Range
'最終行と最終列
Row = Cells(Rows.Count, 1).End(xlUp).Row
Column = Cells(1, Columns.Count).End(xlToLeft).Column
Set myRange = Range(Cells(1, 1), Cells(Row, Column))
With ActiveSheet.PageSetup
.PrintArea = myRange.Address
.Zoom = False
.PrintTitleRows = "$1:$1"
.FitToPagesWide = 1
.FitToPagesTall = False
End With
End Sub
Set myRange = Range(Cells(1, 1), Cells(Row, Column))
印刷範囲指定したいセル範囲をmyRangeに格納する。
Range(Cells(1,1),Cells(10,12)) となっている。
.PrintArea = myRange.Address
印刷範囲をmyRangeとする。
.Zoom = False
拡大縮小をクリアする。列や行を1ページに収める場合はFalseにしておく。
.PrintTitleRows = "$1:$1"
印刷タイトルを指定。2ページ以降もタイトルとして印刷される。
.FitToPagesWide = 1
列を1ページに収める
.FitToPagesTall = False
行は1ページに収めない。
※なんちゃって個人情報を使用しています。
【参考記事】