ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: zhangyu05

[求助] 如何用VBA自动编写打印Excel报表时表头中第几页共几页的页码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-11-21 22:11 | 显示全部楼层
根据页数判断一下,分条件分别设置页眉页数,可以让它字数一样多来对齐:
Sub yanjie()
Dim i%
For i = 1 To 3
Range("H3").value = i
With ActiveSheet.PageSetup
    Select Case i
    Case Is <= 9
    If .RightHeader <> "第 00&P 页,共 00&N 页" Then .RightHeader = "第 00&P 页,共 00&N 页"
    Case Is >= 10
    If .RightHeader <> "第 0&P 页,共 0&N 页" Then .RightHeader = "第 0&P 页,共 0&N 页"
    Case Is >= 100
    If .RightHeader <> "第 &P 页,共 &N 页" Then .RightHeader = "第 &P 页,共 &N 页"
    End Select
    End With
Sheet1.PrintOut From:=i, To:=i
Next i
End Sub

TA的精华主题

TA的得分主题

发表于 2010-11-22 08:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
供参考。。。

1122-VBA处理页码的问题.rar

10.05 KB, 下载次数: 207

TA的精华主题

TA的得分主题

发表于 2010-11-22 20:40 | 显示全部楼层
昨天时间比较匆忙,代码出现一些错误,现在修正如下:
Sub yanjie()
Dim i%
For i = 1 To 3
Range("H3").Value = i
With ActiveSheet.PageSetup
    Select Case i
    Case 1 To 9
    If .RightHeader <> "第 00&P 页,共 00&N 页" Then .RightHeader = "第 00&P 页,共 00&N 页"
    Case 10 To 99
    If .RightHeader <> "第 0&P 页,共 0&N 页" Then .RightHeader = "第 0&P 页,共 0&N 页"
    Case 100 To 999
    If .RightHeader <> "第 &P 页,共 &N 页" Then .RightHeader = "第 &P 页,共 &N 页"
    End Select
    End With
Sheet1.PrintOut From:=i, to:=i
Next i
End Sub

TA的精华主题

TA的得分主题

发表于 2010-11-24 10:59 | 显示全部楼层

回复 1楼 zhangyu05 的帖子

那就这样改:
Sub Prt()
    P = ExecuteExcel4Macro("Get.Document(50)")
    ActiveSheet.Range("K3") = P
    For I = 1 To P step 2
        ActiveSheet.Range("H3") = I
        ActiveWindow.SelectedSheets.PrintOut From:=I, To:=I
    Next
    msgbox "请转换纸面!"
    For I = 2 To P step 2
        ActiveSheet.Range("H3") = I
        ActiveWindow.SelectedSheets.PrintOut From:=I, To:=I
    Next
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-11-24 22:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 zjdh 于 2010-11-24 10:59 发表
那就这样改:
Sub Prt()
    P = ExecuteExcel4Macro("Get.Document(50)")
    ActiveSheet.Range("K3") = P
    For I = 1 To P step 2
        ActiveSheet.Range("H3") = I
        ActiveWindow.SelectedS ...


这倒是个方法,相当于手工双面打印了。谢谢!

TA的精华主题

TA的得分主题

发表于 2011-2-1 12:49 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-2-4 18:50 | 显示全部楼层
设置循环语句,并设置先打印奇数页,步长为+1在设置为打印偶数页,步长为+2,这样不就能打印了,我原来也做过,照着这个思路来就可以

TA的精华主题

TA的得分主题

发表于 2011-4-1 13:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个正是我需要的,谢谢,都找半天了

TA的精华主题

TA的得分主题

发表于 2011-12-24 23:04 | 显示全部楼层
LangQueS 发表于 2010-11-21 19:49
将页眉位置拖动到表格中。请打印显示:

还是没明白啊,能不能说得更详细些?

TA的精华主题

TA的得分主题

发表于 2011-12-24 23:08 | 显示全部楼层
留个记号                 
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-29 14:32 , Processed in 0.043652 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表