欢迎光临散文网 会员登陆 & 注册

Excel每页加标题+合并单元格跨页调整

2023-02-16 18:23 作者:陪我去圣所叭  | 我要投稿

Attention: 本分享基于win7系统和office 2013。 


做一些内容很多的跨页表格时,经常遇到如图1所示的问题。表格的第一页中有一列是合并单元格,但是该合并单元格是跨页显示的,导致第一页的末尾部分和第二页起始部分缺少表格框线,且合并单元格中的内容“ @陪我去圣所叭 ”也只在第一页显示,不会出现在第二页的合并单元格中。

图1

 太丑了!!!作为一个合格的打工人,解决这个问题势在必得!

Step 1:给表格每一页添加列名。一般这种跨页的表格,需要在每一页添加表头(也就是列名)。在图2“顶端标题行”处添加需要在每一页开头出现的标题。预览没问题后就点确定。

图2

Step 2:复制如下代码至记事本,将记事本保存为后缀为.bas的文件。(如“test.bas”)

Sub test()

Dim P, MergeAddress As String, PageCell As Range, MergeValue

ActiveWindow.View = xlPageBreakPreview

For Each P In ActiveSheet.HPageBreaks

Set PageCell = Cells(P.Location.Row - 1, ActiveCell.Column)

If PageCell.MergeCells And Not Intersect(Cells(P.Location.Row, ActiveCell.Column), PageCell.MergeArea) Is Nothing Then

MergeAddress = PageCell.MergeArea.Address

MergeValue = PageCell.MergeArea(1).Value

PageCell.MergeArea.UnMerge

Range(Range(MergeAddress)(1), PageCell).Merge

With Range(PageCell.Offset(1, 0), Cells(Split(MergeAddress, "$")(4), ActiveCell.Column))

.Merge

.Value = MergeValue

End With

End If

Next

ActiveWindow.View = xlNormalView

End Sub


Step 3:“文件”→“选项”→“自定义功能区”,在“开发者选项”前打勾,这样该选项就会出现在Excel顶端的菜单栏。

图3

Step 4:点击“Visual Basic”

图4

Step 5:选中表格所在的sheet,单击右键,选择“导入文件”,选择刚才新建的“test.bas”文件。

图5

Step 6:回到Excel表格,点击“宏”。

图6

Step 7:选中“test.bas”文件,并点击“执行”。即可完成对跨页合并单元格的设置。

图7

Step 8:接着需要选中含有合并单元格的一列,为单元格设置框线,点击预览对表格进行检查调整即可。显示效果如图8。


Tips:有的经验分享会建议在图2中勾选“网格线”选项。但我并不推荐。因为这个选项可能会使一些不需要出现网格线的地方出现网格,且不方便调整。

图8

Good Luck 打工人!(End)

Excel每页加标题+合并单元格跨页调整的评论 (共 条)

分享到微博请遵守国家法律