打印输出上的自定义页码(Microsoft Excel)
Wendy希望在工作表打印输出的页眉中包含页码,但要有所不同-第1页的第21A页,第2页的第21B页,第3页的第21C页,等等。她想知道如何创建这样的页码方案。
有几种方法可以解决此问题,所有方法都涉及到宏的使用。如果您实际上要打印当前工作簿中的所有工作表,并且所有这些工作表都没有超过一页的长度(打印时),则以下宏将按要求设置页眉的中心部分:
Sub PageNums1() Dim sheet As Worksheet Dim J As Integer J = 1 On Error Resume Next For Each sheet In Worksheets Sheets(J).PageSetup.CenterHeader = "Page 21" & Chr(64 + J) J = J + 1 Next End Sub
请注意,该宏实际上并没有打印任何内容。它所做的只是更改标题信息。如果您真的只想打印当前的工作表,而该工作表将需要在打印输出上打印多页,则以下应该可以正常工作:
Sub PageNums2() Dim X As Integer Dim Y As Integer Dim Z As Integer Z = 1 For X = 1 To ActiveSheet.HPageBreaks.Count + 1 For Y = 1 To ActiveSheet.VPageBreaks.Count + 1 ActiveSheet.PageSetup.CenterHeader = _ "Page 21" & Chr$(64 + Z) Worksheets.PrintOut Z, Z Z = Z + 1 Next Y Next X End Sub
此宏基于打印输出上水平(HPageBreaks)和垂直(VPageBreaks)分页符的位置来计算页面。
您也可以尝试以这种方式仅使用Pages集合:
Sub PageNums3() Dim J As Integer For J = 1 To ActiveSheet.PageSetup.Pages.Count ActiveSheet.PageSetup.CenterHeader = "Page 21" & Chr(64 + J) Worksheets.PrintOut J, J Next J End Sub
您应该注意,无论选择哪种方法,如果打印输出需要26页以上,都会遇到问题。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(12548)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。