需设置“打印标题”功能使每页显示表头:一、页面布局→打印标题→设顶端标题行为$1:$1;二、名称管理器定义PrintHeader引用表头行,再在打印标题中调用;三、VBA宏自动为所有工作表设$1:$1为顶端标题行。

如果您在打印Excel表格时发现每页都没有重复的表头,导致查看多页数据时难以分辨列名,则需要设置“打印标题”功能。以下是实现每页都显示表头的具体操作步骤:
一、通过页面布局设置打印标题
Excel提供“打印标题”功能,可将指定的行(如第一行表头)设定为每页顶端重复打印的内容。该设置仅影响打印输出和打印预览,不影响工作表的正常显示。
1、点击Excel顶部菜单栏中的页面布局选项卡。
2、在“页面设置”功能组中,点击打印标题按钮。
3、在弹出的“页面设置”对话框中,切换到工作表选项卡。
4、在“打印标题”区域找到顶端标题行输入框。
5、点击输入框右侧的折叠按钮,回到工作表,选中包含表头的行(例如第1行),再点击折叠按钮返回对话框。
6、确认输入框中显示类似$1:$1的引用,点击确定保存设置。
二、使用名称管理器定义动态表头区域
当表头行数不固定或需适配不同结构的工作表时,可通过定义名称配合INDIRECT函数生成动态引用,再将其应用于打印标题设置,提升复用性与准确性。
1、按Ctrl + F3打开“名称管理器”。
2、点击新建,在“名称”栏输入PrintHeader。
3、在“引用位置”栏输入公式:=Sheet1!$1:$1(请将Sheet1替换为实际工作表名)。
4、关闭名称管理器,在“页面设置”→“工作表”选项卡的“顶端标题行”中输入:=PrintHeader。
5、点击确定完成设置。
三、通过VBA宏自动应用表头打印设置
对于需频繁处理多个工作表或批量设置打印标题的场景,可运行VBA宏一次性为当前工作簿所有工作表启用首行作为顶端标题行,避免逐个手动配置。
1、按Alt + F11打开VBA编辑器。
2、在左侧工程资源管理器中,右键点击ThisWorkbook,选择查看代码。
3、粘贴以下代码:
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.PageSetup.PrintTitleRows = "$1:$1"
Next ws
End Sub
4、关闭VBA编辑器,保存文件为启用宏的Excel工作簿(.xlsm)。
5、重新打开该文件,宏将自动执行并为所有工作表设置顶端标题行为第1行。











