麻烦删除额外的页面中断
我有一些代码,以可打印格式创build报告到临时工作表上。 在该代码中,它调用Sub SetPageBreaks
(下面的代码)。 我无法删除列G:H
之间设置的特定分页符。
Sub SetPageBreaks(SheetObj As Worksheet) Dim TotRow%, LinesPerPg%, NumPgs%, Page% TotRow = SheetObj.UsedRange.Rows.Count LinesPerPg = 56 NumPgs = RoundUp(TotRow / LinesPerPg) With SheetObj .ResetAllPageBreaks For Page = 1 To NumPgs .Rows(LinesPerPg * Page + 1).PageBreak = xlPageBreakManual Next Page .Columns("J").PageBreak = xlPageBreakManual .Columns("H").PageBreak = xlPageBreakNone End With End Sub Function RoundUp(ByVal Number As Double) As Long RoundUp = Application.WorksheetFunction.RoundUp(Number, 0) End Function
在列I:J
是页面的最后一列(它需要适合页面的整个宽度,有些缩放是预期的)。 为什么我的代码不能删除col H
上的中断?
编辑(新编码尝试):
我已经更新了我的代码以下,没有成功(根据我的喜好调整边距,然后添加.FitToPagesWide
,这是削减我的最后一列。
Option Explicit Sub SetPageBreaks(SheetObj As Worksheet) Dim TotRow%, LinesPerPg%, NumPgs%, Page% TotRow = SheetObj.UsedRange.Rows.Count LinesPerPg = 56 NumPgs = RoundUp(TotRow / LinesPerPg) With SheetObj .ResetAllPageBreaks For Page = 1 To NumPgs .Rows(LinesPerPg * Page + 1).PageBreak = xlPageBreakManual Next Page With .PageSetup .HeaderMargin = 21.6 .FooterMargin = 21.6 .TopMargin = 86.4 .LeftMargin = 18 .RightMargin = 18 .BottomMargin = 54 .FitToPagesWide = 1 .FitToPagesTall = False End With End With End Sub
对于一些缩放发生,你必须让Excel知道如何做到这一点。 在With块的开始,添加:
.PageSetup.Zoom = False .PageSetup.PrintArea = "$A:$I" .PageSetup.FitToPagesWide = 1 .PageSetup.FitToPagesTall = False
你的最后2块块不应该是必要了。