显示Excel工作表计数

是否有一个公式来显示单个单元格中工作簿中工作表的数量?

假设我有3个工作表,我想显示每个页面上用户所在的页码。

我希望它在第一页的页脚中看起来像这样:

Page 1 of 3 

对于第二页:

 Page 2 of 3 

而对于第三页:

 Page 3 of 3 

我怎样才能做到这一点?

你可以在你的页脚中添加这样的代码

  1. 按ALt&F11一起进入Visual Basic编辑器
  2. 插入模块
  3. 复制并粘贴下面的代码
  4. 按ALt&F11返回到Excel
  5. 运行代码

这个代码会在你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模块中]

  1. 按ALt&F11一起进入Visual Basic编辑器
  2. 将以下代码复制并粘贴到“ThisWorkbook”模块中
  3. 按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。

  1. 打开电源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()

检查输出,完成:) 🙂