显示Excel工作表计数
是否有一个公式来显示单个单元格中工作簿中工作表的数量?
假设我有3个工作表,我想显示每个页面上用户所在的页码。
我希望它在第一页的页脚中看起来像这样:
Page 1 of 3
对于第二页:
Page 2 of 3
而对于第三页:
Page 3 of 3
我怎样才能做到这一点?
你可以在你的页脚中添加这样的代码
- 按ALt&F11一起进入Visual Basic编辑器
- 插入模块
- 复制并粘贴下面的代码
- 按ALt&F11返回到Excel
- 运行代码
这个代码会在你select运行时更新。 或者,您可以在每次使用事件打开工作簿(可能会矫枉过正)时运行代码,或者在用户查看打印时捕获代码,并将页码添加到正在打印的工作表(而不是整个工作簿)
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一起进入Visual Basic编辑器
- 将以下代码复制并粘贴到“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
看下面的图片
在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
最好的select是电源shell。
-
打开电源shellISE
$ 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()
检查输出,完成:) 🙂