zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

使用VBA设置可以实时更新的打印区域

实时 使用 设置 更新 可以 打印 vba 区域
2023-06-13 09:15:12 时间

标签:VBA

有时候,工作表中的数据经常发生更新,这样,如果要设置打印区域的话,那么每次更新后都得重新选择并设置,以便将更新的数据包括到打印区域中。

如果希望在工作表数据更新的同时,设置的打印区域也相应的更新,那该如何实现呢?

可以使用VBA代码。

如果数据在工作表的列A至列C,可以使用下面的代码:

Sub UpdatePrintArea()
    Dim wks As Worksheet
    Set wks = Sheet1
    With wks
        .PageSetup.PrintArea = .Range("A1", .Range("C" & Rows.Count).End(xlUp)).Address
    End With
End Sub

如果数据为单元格A1所在的当前区域,可以使用下面的代码:

Sub UpdatePrintAreaCur()
    Sheet1.PageSetup.PrintArea = [A1].CurrentRegion.Address
End Sub

你可以在每次更新数据后,运行上面的过程。如果想要让Excel自动更新设置打印区域,则需要使用工作表的Change事件。

在数据所在工作表对象模块中,输入下面的代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    UpdatePrintArea
    'UpdatePrintAreaCur
End Sub

这样,当工作表数据发生变化时,会调用UpdatePrintArea过程或者UpdatePrintAreaCur过程,重新设置打印区域。