条件分页符(Microsoft Excel)
Excel是用于跟踪各种数据的便捷工具。许多人在工作中使用它来为不同部门或项目创建临时报告。在处理数据时,您可能想知道当特定列的内容更改时如何自动插入分页符。例如,您可能有一个包含部门名称的列,并且您可能希望每个部门都在新页面上开始。
使用Excel的内置小计功能,这很容易做到。
您需要做的就是遵循以下步骤:
。确保您的表包含列标签。例如,如果列A包含部门名称,则单元格A1可能包含标签,例如“部门”。确保所有列都有标签。
。使用部门列作为键对表中的数据进行排序。
。在表格中的任何单元格仍处于选中状态的情况下,从“数据”菜单中选择“小计”。 Excel将显示“小计”对话框。
。使用“每次更改时”下拉列表,选择“部门”。
。使用使用功能下拉列表,选择计数。
。使用“添加小计至”列表,选择要显示小计的列的名称。
。确保选中“在组之间分页”复选框。
。单击确定。 Excel将按指示添加小计和页数。
如果由于某种原因您不想使用小计功能,则始终可以编写一个宏,该宏将删除工作表中的所有分页符,然后在适当的位置添加新的分页符。以下宏可以解决问题:
Sub PageBreak() Dim CellRange As Range Dim TestCell As Range ActiveSheet.ResetAllPageBreaks Set CellRange = Selection For Each TestCell In CellRange If TestCell.Value <> TestCell.Offset(-1, 0).Value Then ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakManual End If Next TestCell End Sub
要使用宏,只需选择要用作拆分键的单元格(减去顶部单元格)即可。例如,如果部门在A列第2到37行中,则应在A3到A37中选择范围。运行宏,并删除所有旧的分页符,并添加新的分页符。
您应该意识到,在工作表中可以使用的手动分页符数量方面,Excel确实有一个限制。根据知识库,该限制约为1024个中断。 (根据您使用的Excel版本,该限制可能会略有不同,但是正好与此有关。)以下是有关限制的晦涩文字:
http://support.microsoft.com/kb/284916
此限制的结果是,如果要插入很多分页符,则在工作表上超过分页符限制时,宏将崩溃。该错误将说明“无法设置PageBreak属性”。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2792)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: