【问题标题】:VBA Excel - Header and Footer dynamic page number (sheets)VBA Excel - 页眉和页脚动态页码(工作表)
【发布时间】:2017-07-14 09:21:42
【问题描述】:

我希望打印一个 excel 文档,其中每个未隐藏的工作表都有相关的页码,这样当我打印时,第一个工作表的页码从 1 变为第二个工作表的 2,依此类推。

注意:我还在这里和那里隐藏了一些隐藏的工作表,因此页码必须只依赖于未隐藏的工作表。

尽管使用下面的代码,当我选择所有工作表并打印活动工作表时,页码不会从一个工作表更改为另一个工作表,但每张工作表都等于一个。

关于如何解决这个问题的任何想法???

Sub headersfooters()
 Dim index As Integer
 Dim ws As Worksheet
    index = wsVolumes.Range("k4")
    Select Case index
    Case Is = 1
    For Each ws In ActiveWorkbook.Worksheets
    ws.Visible
         ws.PageSetup.RightHeader = "French"
          ws.PageSetup.RightFooter = "&P"
    Next ws
End
    Case Else
        For Each ws In ActiveWorkbook.Worksheets
         ws.PageSetup.RightHeader = "English"
         ws.PageSetup.RightFooter = "&P"
      Next ws
    End
            End Select
End Sub

谢谢!!

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    对使用 ws.PageSetup.FirstPageNumber 有何看法?

    Sub headersfooters()
     Dim index As Integer
     Dim ws As Worksheet
     Dim n As Integer
        index = wsVolumes.Range("k4")
        Select Case index
        Case Is = 1
            For Each ws In ActiveWorkbook.Worksheets
                ws.Visible
                 ws.PageSetup.RightHeader = "French"
                  ws.PageSetup.RightFooter = "&P"
                  n = n + 1
                  ws.PageSetup.FirstPageNumber = n
            Next ws
    
        Case Else
            For Each ws In ActiveWorkbook.Worksheets
             ws.PageSetup.RightHeader = "English"
             ws.PageSetup.RightFooter = "&P"
             n = n + 1
             ws.PageSetup.FirstPageNumber = n
            Next ws
    
        End Select
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      • 1970-01-01
      • 2016-03-09
      • 1970-01-01
      • 2012-08-15
      • 2016-08-08
      • 1970-01-01
      相关资源
      最近更新 更多