1、点击工作表有下角 切换到 分页预览 模式并调整好 横向的分页符 和 缩放比例等打印相关参数,这时excel会根据打印纸张的大小自动帮你设置好纵向的分页符,这时你就会发现,有些分页符一不小心会把合并的单元格分隔开
2、老规矩复制以下VBA代码到excel的VBA编辑器中:'==屏顿幂垂=========我就是那传说中的分割线========租涫疼迟=======Sub 调整水平分页符位置()Dim index!, theHPageBreaksCount!, rng!, temp, count!, index2!, mark As StringDim a As Rangemark = "A" '要判断的合并单元格所在列index2 = 1 '要判断的合并单元格所在列theHPageBreaksCount = ActiveSheet.HPageBreaks.count '获取当前工作表总的分页数'当调整分页符的时候总分页数会增多,这里预估会多出50页以内,一般够用,如果不够用可以将50改大点的数For rng = 1 To theHPageBreaksCount + 50On Error Resume Next '发生错误直接跳出循环,结束运行Set a = ActiveSheet.HPageBreaks(rng).Locationindex = a.Row '获取分页符在第几行Debug.Print "分页符所在行:" & indexApplication.StatusBar = "正在分析第" & rng & "分页符,请稍候…………"' temp = Cells(index, 1).MergeArea.Row'' temp = Cells(index, 1).MergeArea.count Do Until Cells(index, index2).MergeCells = False Or (Cells(index, index2).MergeCells = True And (index = Cells(index, index2).MergeArea.Row Or index = (Cells(index, index2).MergeArea.count + Cells(index, index2).MergeArea.Row))) Application.StatusBar = "正在调整第" & rng & "分页符,请稍候…………" count = 1 + count index = index - 1 Set ActiveSheet.HPageBreaks(rng).Location = Range(mark & index) LoopNextApplication.StatusBar = ""MsgBox "执行完毕!共调整" & count & "页分页符"End Sub'===========我就是那传说中的分割线===============不知道如何使用VBA,请参考:
3、如果你合并的单元格不在第一列,就需要修鸷拳林根改代码中的参数值:mark = "A" '要判断的合并单元格所在列index2 = 1 '要判断的合并单元飙空蒈开格所在列例如你合并的单元格在第二列(B列)就改为:mark = "B" '要判断的合并单元格所在列index2 = 2 '要判断的合并单元格所在列
4、运行VBA,就会自动帮你调整好分页符了。如果此文对你有帮助,请点个赞 谢谢