显示Excel工作表计数

时间:2011-10-06 22:29:06

标签: excel count cell worksheet

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

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

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

Page 1 of 3

第二页:

Page 2 of 3

第三页:

Page 3 of 3

我该怎么做?

3 个答案:

答案 0 :(得分:3)

您可以在页脚中添加代码,如下所示

  1. 按ALt& F11一起转到Visual Basic编辑器
  2. 插入模块
  3. 复制并粘贴以下代码
  4. 按ALt& F11回到excel
  5. 运行代码
  6. 当您选择运行此代码时,此代码将更新。或者,您可以在每次使用事件(可能过度杀伤)打开工作簿时运行代码,或者在用户查看“打印”时捕获陷阱,并将页码添加到正在打印的页面(而不是整个工作簿)

    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
      
    4. 见下图 enter image description here

答案 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)

最好的选择是电源外壳。

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

  2. 检查输出,完成:)))