是否有公式显示单个单元格中工作簿中的工作表数量?
假设我有3个工作表,并且我想显示每个页面上用户所在的页码。
我希望它在第一个页面的页脚中看起来像这样:
Page 1 of 3
第二页:
Page 2 of 3
第三页:
Page 3 of 3
我该怎么做?
答案 0 :(得分:3)
您可以在页脚中添加代码,如下所示
当您选择运行此代码时,此代码将更新。或者,您可以在每次使用事件(可能过度杀伤)打开工作簿时运行代码,或者在用户查看“打印”时捕获陷阱,并将页码添加到正在打印的页面(而不是整个工作簿)
Sub NewHeaders()
Dim Sht As Worksheet
For Each Sht In ActiveWorkbook.Worksheets
Sht.PageSetup .CenterFooter = "&P" & " of " & "&N" & " pages"
Next Sht
End Sub
[更新:将此修订后的代码放在您希望代码运行的文件的ThisWorkbook模块中]
按ALt& F11回到excel
Private Sub Workbook_Open()
Dim Sht As Worksheet
For Each Sht In ActiveWorkbook.Worksheets
Sht.PageSetup .CenterFooter = "&P" & " of " & "&N" & " pages"
Next Sht
End Sub
见下图
答案 1 :(得分:0)
当然可以在VBA中轻松完成
Dim sheetCount As Integer
Dim i As Integer
sheetCount= ActiveWorkbook.Worksheets.Count
For i = 1 To sheetCount
ActiveWorkbook.Worksheets(i).Range("A1").Value = "Page " & i & " of " & sheetCount
Next i
答案 2 :(得分:0)
最好的选择是电源外壳。
打开电源外壳ISE
$ xl = New-Object -COM" Excel.Application" $ xl.Visible = $ true
$ wb = $ xl.Workbooks.Open(" D:\ 123.xls") $ n = $ wb.sheets.count
Echo $ n $ wb.Close() $ xl.Quit()
检查输出,完成:)))