ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

页码显示的代码有误.taller版主已经帮忙解决了.

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-16 00:26 | 显示全部楼层

有这种写法吗?

ME.HPageBreaks(1).Location.Row

ME.VPageBreaks(1).Location.Column

运行总会出错.没办法了.有个人最难待候了.[em06]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-16 00:28 | 显示全部楼层
老兄,能解释一下你的这种算法吗.

TA的精华主题

TA的得分主题

发表于 2005-10-16 00:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

关于你要的第一的问题,也是可以解决的,只是觉得必要性不大,你可以试试

ME.HPageBreaks(1).Location.Row

ME.VPageBreaks(1).Location.Column

代码有什么问题吗?如果这个不能运行,你怎么会发现代码没有考虑打印顺序呢

ElseIf totalPg = 1 Then If VBA.IsEmpty(Target) Then Application.EnableEvents = False Target.Font.Color = vbWhite Target = "$$$" If totalPg < ExecuteExcel4Macro("GET.DOCUMENT(50)") Then MsgBox "你选择的单元格不在打印区" Else MsgBox "第1页,共1页" End If Target.Clear Application.EnableEvents = True Else MsgBox "第1页,共1页" End If Else hNum = Me.HPageBreaks.Count

[此贴子已经被作者于2005-10-16 0:38:37编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-16 00:37 | 显示全部楼层

另,发现先择超出的打印区域的行时,提示会出错误

如:数据只有A1:B20,选择A65536都还有提示第XX行,共XX行.本应提示为不在打印区域内才对

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-16 00:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
好,不错了.非常好了.只差最后一个问题了.呵呵[em02]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-16 00:48 | 显示全部楼层

打印顺序,我是通过页面设置里验证的.

关于算法.我还是不明白.[em06]

TA的精华主题

TA的得分主题

发表于 2005-10-16 00:53 | 显示全部楼层

要实现24楼的要求(最好在一开始提出呀),只好把判断逻辑改了,试试这个

我在23楼的问题是,如果21楼的代码不能运行,你怎么能得到结果呢!?

Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim totalPg As Integer, iPg As Integer, i As Integer, tPg As Integer Dim hBK As Integer, vBK As Integer, hNum As Integer, vNum As Integer totalPg = ExecuteExcel4Macro("GET.DOCUMENT(50)") If totalPg = 0 Then MsgBox "工作表没有数据" Else If VBA.IsEmpty(Target) Then Application.EnableEvents = False Application.ScreenUpdating = False Target = "$$$" tPg = ExecuteExcel4Macro("GET.DOCUMENT(50)") Target.Clear Application.EnableEvents = True Application.ScreenUpdating = True If totalPg < tPg Then MsgBox "你选择的单元格不在打印区" Exit Sub End If End If If totalPg = 1 Then MsgBox "第1页,共1页" Else hNum = Me.HPageBreaks.Count For i = 1 To hNum If Me.HPageBreaks(i).Location.Row > Target.Row Then Exit For Next hBK = i vNum = Me.VPageBreaks.Count For i = 1 To vNum If Me.VPageBreaks(i).Location.Column > Target.Column Then Exit For Next vBK = i If Me.PageSetup.Order = xlDownThenOver Then iPg = (hNum + 1) * (vBK - 1) + hBK Else iPg = (vNum + 1) * (hBK - 1) + vBK End If If iPg > totalPg Then MsgBox "你选择的单元格不在数据区" Else MsgBox "第" & iPg & "页,共" & totalPg & "页" End If End If End If End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-16 17:30 | 显示全部楼层
老兄,今天测试发现上面的代码还是有问题.

TA的精华主题

TA的得分主题

发表于 2005-10-16 17:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
老兄有问题你就说嘛,你不说我怎么知道呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-16 17:42 | 显示全部楼层

老兄,你看一下.我在Sheet1中用批注全部写出来了.

m2F04JJV.rar (7.04 KB, 下载次数: 38)

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-27 13:57 , Processed in 0.056838 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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