首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA每第n行插入分页符

Excel VBA每第n行插入分页符
EN

Stack Overflow用户
提问于 2017-03-10 20:07:02
回答 3查看 955关注 0票数 2

我有下面的代码,除了在第35行之后插入分页符之外,它可以做任何事情。有谁能帮帮忙吗?

代码语言:javascript
运行
复制
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
EN

回答 3

Stack Overflow用户

发布于 2017-03-10 20:30:15

重写最后一行,如下所示:

代码语言:javascript
运行
复制
rs.HPageBreaks.Add before:=rs.Range("A36")

因此,您还添加了一个引用rs。它应该工作得更好。看看微软是怎么说引用范围的:https://msdn.microsoft.com/en-us/library/office/aa221547(v=office.11).aspx

票数 2
EN

Stack Overflow用户

发布于 2017-03-10 20:12:17

尝试如下所示:

代码语言:javascript
运行
复制
Dim hpgbr As HPageBreak
Dim hpgbrs As HPageBreaks
Set hpgbr = hpgbrs.Add(Before:=Range("A36"))
票数 0
EN

Stack Overflow用户

发布于 2017-03-10 20:16:54

这对我很有效。我删除了Zoom

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42718065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档