PrintAreaプロパティ解説(Excel VBA)

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プロパティに適用します。

このコードを使用すれば、データの範囲が変わったときでも、それを反映した印刷範囲を設定できます。