2017-07-13 165 views
1

我希望打印一份excel文档,其中每个未隐藏的页面都有关联的页码,这样当我打印时,页码从第一页的1开始,2第二张纸等等。VBA Excel - 页眉和页脚动态页码(页数)

注意:我也有一些隐藏的表单隐藏在这里和那里,因此页码只能依赖于未隐藏的表单。

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

有关如何解决此问题的任何想法?

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 

谢谢!!

回答

0

什么想法使用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