关于Excel的长期抱怨之一是它没有一种非常健壮的方法来创建和管理页眉和页脚。

请考虑以下情形:您要打印工作表,但页码只能从第二页开始。

Excel中没有内部方法来处理这种情况。有一些解决方法。例如,您可以将第一页放在一个工作表中(不包含页眉或页脚),而将后续页放在另一个工作表中(包含页眉和页脚)。然后,您可以一次打印两个工作表,并有效地实现您的目标。

如果安装了报表管理器,则可以使用它根据工作表中的信息将不同的报表放在一起。

_ExcelTips_的其他问题已涵盖了使用报表管理器。报表管理器加载项最后一次随Excel 2002一起发布,但是您仍然可以在Excel 2003中使用它。

但是,这两种方法均不适用于所有情况。例如,您可能无法将打印输出拆分为多个工作表,或者您可能没有使用报表管理器的丰富经验(或者您不想下载并安装它)。如果愿意,可以创建一个宏,该宏将根据需要打印工作表。

下面的宏GoodPrint将打印不包含页眉或页脚的工作表的第一页,然后照常打印所有后续页。

Sub GoodPrint()

Dim hlft As String     Dim hctr As String     Dim hrgt As String     Dim flft As String     Dim fctr As String     Dim frgt As String

'save current header     hlft = ActiveSheet.PageSetup.LeftHeader     hctr = ActiveSheet.PageSetup.CenterHeader     hrgt = ActiveSheet.PageSetup.RightHeader

'save current footer     flft = ActiveSheet.PageSetup.LeftFooter     fctr = ActiveSheet.PageSetup.CenterFooter     frgt = ActiveSheet.PageSetup.RightFooter

'remove header and footer     With ActiveSheet.PageSetup         .CenterHeader = ""

.RightHeader = ""

.LeftHeader = ""

.CenterFooter = ""

.RightFooter = ""

.LeftFooter = ""

End With

'print page one     ActiveSheet.PrintOut 1, 1

'restore header and footer     With ActiveSheet.PageSetup         .LeftHeader = hlft         .CenterHeader = hctr         .RightHeader = hrgt         .LeftFooter = flft         .CenterFooter = fctr         .RightFooter = frgt     End With

'print the rest of the pages     ActiveSheet.PrintOut 2 End Sub

注意:

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

链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

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

本技巧(2189)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本:

链接:/ excelribbon-Selective_Headers_and_Footers [选择性页眉和页脚]。