如果您的工作表很大,则可能需要将其打印为“部分”

并自动更改每个部分的页眉或页脚中包含的信息。在Excel中没有执行此操作的内在方法。最好的方法是执行以下操作的宏:

。根据命名范围设置打印区域。

。根据另一个命名范围设置页眉或页脚。

。打印打印区域。

。对每个所需的打印区域重复步骤1至3。

请注意,这些步骤需要使用命名范围。您可以为要打印的工作表的每个部分都有一个命名范围,以及一个代表每个打印区域所需的页眉或页脚信息的命名范围(将是单个单元格)。下面的宏将实现上述步骤:

Sub PrintRegions()

Dim x As Integer

'Change the dimension of the arrays to equal the number '   of printing areas you have     Dim Region(4) As String     Dim Head(4) As String

'Fill this array with the names of the ranges to be printed     Region(1) = "North"

Region(2) = "South"

Region(3) = "East"

Region(4) = "West"



'Fill this array with the names of the ranges to be in the header     Head(1) = "NorthHead"

Head(2) = "SouthHead"

Head(3) = "EastHead"

Head(4) = "WestHead"



For x = 1 To UBound(Region)

ActiveSheet.PageSetup.PrintArea = Range(Region(x)).Address          ActiveSheet.PageSetup.LeftHeader = Range(Head(x)).Value          ActiveWindow.SelectedSheets.PrintOut Copies:=1     Next End Sub

本示例仅打印工作表的四个区域。这些区域被命名为范围:北,南,东和西。同样,用于标头左侧的命名范围(实际上是单个单元格)是NorthHead,SouthHead,EastHead和WestHead。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(10848)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: