是否有公式可以在单个单元格中显示工作簿中的工作表数量?
假设我有 3 个工作表,我想显示用户在每个页面上的页码。
我希望它在第一页的页脚中看起来像这样:
Page 1 of 3
对于第二页:
Page 2 of 3
对于第三页:
Page 3 of 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
见下图
它当然可以在 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
最好的选择是电源外壳。
打开电源外壳 ISE
$xl = 新对象-COM "Excel.Application" $xl.Visible = $true
$wb = $xl.Workbooks.Open("D:\123.xls") $n = $wb.sheets.count
回声 $n $wb.Close() $xl.Quit()
检查输出,完成:) :)