标签:VBA
有时候,工作表中的数据经常发生更新,这样,如果要设置打印区域的话,那么每次更新后都得重新选择并设置,以便将更新的数据包括到打印区域中。
如果希望在工作表数据更新的同时,设置的打印区域也相应的更新,那该如何实现呢?
可以使用VBA代码。
如果数据在工作表的列A至列C,可以使用下面的代码:
代码语言:javascript复制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所在的当前区域,可以使用下面的代码:
代码语言:javascript复制Sub UpdatePrintAreaCur()
Sheet1.PageSetup.PrintArea = [A1].CurrentRegion.Address
End Sub
你可以在每次更新数据后,运行上面的过程。如果想要让Excel自动更新设置打印区域,则需要使用工作表的Change事件。
在数据所在工作表对象模块中,输入下面的代码:
代码语言:javascript复制Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UpdatePrintArea
'UpdatePrintAreaCur
End Sub
这样,当工作表数据发生变化时,会调用UpdatePrintArea过程或者UpdatePrintAreaCur过程,重新设置打印区域。