Microsoft Excel VBA - 指定したセル範囲を印刷する方法

◆概要

このページは、Excel VBAで指定したセル範囲を印刷する方法について記載しています。


指定したセル範囲を印刷するには次のようにします。

◆RangeオブジェクトのPrintOutメソッドを使う方法

Sub PrintRange1()

    Worksheets("Sheet1").Range("A1:F8").PrintOut

End Sub

このマクロを実行すると、Sheet1のセル範囲A1:F8を印刷できます。


次のように離れたセル範囲を印刷対象に指定すると、複数ページに分割されて印刷されます。

Sub PrintArea()

    Worksheets("Sheet1").Range("A1:C10,F1:H10").PrintOut

End Sub

◆PrintAreaプロパティに印刷範囲を代入する方法
次のようにすると、ユーザーにマウスのドラッグでセル範囲を指定してもらい、ワークシート中のその範囲だけを印刷することができます。

Sub PrintRange2()

    Dim myCell As Range
    Dim myPrpt As String
       
    Worksheets("Sheet1").Activate

    myPrpt = "印刷範囲をマウスでドラッグしてください"

    On Error Resume Next
       
    Set myCell = Application.InputBox(Prompt:=myPrpt, Type:=8)

    'InputBoxでキャンセルが押されたときは、処理を抜ける
    If myCell Is Nothing Then Exit Sub

    With ActiveSheet
        .PageSetup.PrintArea = myCell.Address
        .PrintOut
        .PageSetup.PrintArea = ""
    End With

End Sub



▼ページトップへ