如何用vba控制工作表单元格区域的打印?

用vba可以控制工作簿、工作表、单元格区域的打印方式,比如一个工作表有N页,如果要逆序打印,即从第N页开始打印,到第一页,可以用代码来调节。

如下所示:

 Sub QQ1722187970()
    Dim oWK As Worksheet
    Set oWK = Sheet1
    With oWK
        '获取工作表的总打印页数
        iPTotal = .PageSetup.Pages.Count
        For i = iPTotal To 1 Step -1
            .PrintOut i, i
        Next i
    End With
 End Sub

如果需要每页各打印2份,则可以用以下的代码:

 Sub QQ1722187970()
    Dim oWK As Worksheet
    Set oWK = Sheet1
    With oWK
        '获取工作表的总打印页数
        iPTotal = .PageSetup.Pages.Count
        For i = 1 To iPTotal
            For j = 1 To 2
                .PrintOut i, i
            Next j
        Next i
    End With
 End Sub

关于打印的其它设置,比如打印标题行、打印行列号等,都可以在PageSetup对象中进行设置。

       

发表评论