作者:绿色风
分类:
时间:2022-08-17
浏览:119
楼主 rongjun |
Q:如何使用VBA计算活动工作簿的打印页面总数? A: 使用如下代码(两种算法): 1、按分页符计算(包含空白页)
- Sub 显示总页数1()
- Dim PageCount As Integer
- Dim Sh As Worksheet
- PageCount = 0
- For Each Sh In Worksheets
- PageCount = PageCount + (Sh.HPageBreaks.Count + 1) * (Sh.VPageBreaks.Count + 1)
- Next Sh
- MsgBox "总页数=" & PageCount
- End Sub
2、按实际打印页数计算
- Sub 显示总页数2()
- Dim PageCount As Integer
- Dim Sh As Worksheet
- PageCount = 0
- For Each Sh In Worksheets
- Sh.Activate
- Sh.DisplayPageBreaks = True
- PageCount = PageCount + Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
- Next Sh
- Sheets(1).Activate
- MsgBox "总页数=" & PageCount
- End Sub
如何使用VBA计算活动工作簿的打印页面总数?.rar |
2楼 gvntw |
也可以使用ExecuteExcel4Macro("Get.Document(50)")来计算活动工作表的总页数。 |
3楼 biaotiger1 |
Q:如何在当前活动单元格显示当前工作表中的总页数? A:ALT+F11→“插入”模块→在新建模块中输入代码如下- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Target = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
- End Sub
|
4楼 yd0209 |
输入了模块及代码,为何没有见到效果? |
5楼 biaotiger1 |
首先确保你要选择的单元格是空白单元格(假设是A列),复制代码到该工作表所在模块内,然后你选中A1单元格, 用键盘下移单元格。会发生什么? 用鼠标随意单击空白单元格,会发生什么?
应该显示当前工作表的页数 |
6楼 yd0209 |
能否只设定一个单元格来显示当前表总页数?目前是只要是点中了空单元格就会出现页数,这样点到哪里哪里留数。 |
7楼 biaotiger1 |
在当前工作表所在模块中输入如下代码- Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
- If Len(Target) = 0 Then Target = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
- End Sub
只要单击空白单元格,则在其中插入当前工作表可打印页数 |
8楼 yd0209 |
只指定一个单元格来计算页数行不行? 页数计算问题.rar |
9楼 biaotiger1 |
- Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
- If Target.Address = "$K$6" Then
- If Len(Target) = 0 Then Target = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
- End If
- End Sub
|
10楼 高玉甫 |
您的附件版本较高,我使用的2003,无法打开,如何是好? |
11楼 高玉甫 |
师傅,把您的代码放进工作表的代码区,K6 单元格反映异常,如附图 aaa 所示,再点击那个 K6 单元格,出现如附图 bbb 的图面,为何?请赐教。aaa.png bbb.png |
12楼 高玉甫 |
您的代码出现异常如附图:aaa.png bbb.png |
13楼 biaotiger1 |
改成这样试下,我不知道你的K6单元格中的错误值是什么东东- Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
- If Target.Address = "$K$6" Then
- Target = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
- End If
- End Sub
|
14楼 高玉甫 |
师傅,您的附件很好,我在这里给您“评分”了,另外,请您关注一下如下网址的帖子,谢谢您。 |
15楼 syz105729913 |
实际打印页数还可以这样,跟打印预览里的页数一样 Sub ah() MsgBox "总页数=" & ActiveSheet.PageSetup.Pages.Count End Sub |
16楼 wubaiwan |
收藏,学习了 |
17楼 avel |
Sub test() MsgBox Sheet1.PageSetup.Pages.Count End Sub |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一