Excel VBAのPrintAreaプロパティについて
Excel VBAで作業を自動化する際、ワークシートの特定の範囲を印刷するためにPrintArea
プロパティを使用します。このプロパティは、印刷するセルの範囲を指定するために使用されます。
PrintAreaプロパティの基本的な使い方
PrintAreaプロパティの基本的な使い方は以下のとおりです:
Worksheets("シート名").PageSetup.PrintArea = "範囲"
ここで、"シート名"
は印刷範囲を設定したいワークシートの名前を、"範囲"
は印刷したいセルの範囲を表します。
例えば、シート1のA1からC10までの範囲を印刷範囲として設定したい場合、以下のように記述します:
Worksheets("Sheet1").PageSetup.PrintArea = "A1:C10"
PrintAreaプロパティの活用
PrintAreaプロパティは、動的に印刷範囲を設定する場合に特に便利です。以下に、VBAで動的に印刷範囲を設定するサンプルコードを示します。
サンプルコード1: 印刷範囲を動的に設定
Sub SetPrintArea()
Dim LastRow As Long
Dim LastColumn As Integer
Dim PrintRange As String
With Worksheets("Sheet1")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
LastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
PrintRange = "A1:" & .Cells(LastRow, LastColumn).Address
.PageSetup.PrintArea = PrintRange
End With
End Sub
上記のコードでは、まずシート1の最後の行と最後の列を求めます。次に、印刷範囲を”A1″から最後のセルまでの範囲に設定します。最後に、求めた範囲をPrintAreaプロパティに適用します。
このコードを使用すれば、データの範囲が変わったときでも、それを反映した印刷範囲を設定できます。