我有下面的代码,除了在第35行之后插入分页符之外,它可以做任何事情。有谁能帮帮忙吗?
Sub PrintSet()
Dim rs As Worksheet
Dim sPrintArea As String
sPrintArea = "A1:AE65"
For Each rs In Sheets
rs.PageSetup.Orientation = xlLandscape
rs.PageSetup.Zoom = False
rs.PageSetup.FitToPagesWide = 1
rs.PageSetup.FitToPagesTall = 2
rs.PageSetup.PrintArea = sPrintArea
rs.HPageBreaks.Add before:=Range("A36")
Next rs
End Sub
发布于 2017-03-10 20:30:15
重写最后一行,如下所示:
rs.HPageBreaks.Add before:=rs.Range("A36")
因此,您还添加了一个引用rs
。它应该工作得更好。看看微软是怎么说引用范围的:https://msdn.microsoft.com/en-us/library/office/aa221547(v=office.11).aspx
发布于 2017-03-10 20:12:17
尝试如下所示:
Dim hpgbr As HPageBreak
Dim hpgbrs As HPageBreaks
Set hpgbr = hpgbrs.Add(Before:=Range("A36"))
发布于 2017-03-10 20:16:54
这对我很有效。我删除了Zoom
Sub PrintSet()
Dim rs As Worksheet
Dim sPrintArea As String
sPrintArea = "A1:AE65"
For Each rs In Sheets
rs.PageSetup.Orientation = xlLandscape
rs.PageSetup.FitToPagesWide = 1
rs.PageSetup.FitToPagesTall = 2
rs.PageSetup.PrintArea = sPrintArea
rs.HPageBreaks.Add before:=Range("A36")
Next rs
End Sub
https://stackoverflow.com/questions/42718065
复制相似问题