本文主要是介绍如何快速判断Excel中选区跨页?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实例需求:应用开发过程中,需要校验选中区域,要求选中区域不能跨页,即选中区域分布在两个不同的页面中。
示例代码如下。
Sub Demo()Dim rSelect As Range, oHP As HPageBreakDim UpCell As Range, DownCell As RangeSet rSelect = Selection.EntireRow ActiveWindow.View = xlPageBreakPreviewFor Each oHP In ActiveSheet.HPageBreaksSet DownCell = oHP.LocationSet UpCell = DownCell.Offset(-1, 0)If Not ((Intersect(DownCell, rSelect) Is Nothing) Or (Intersect(UpCell, rSelect) Is Nothing)) ThenMsgBox "选区跨页"ActiveWindow.View = xlNormalViewExit SubEnd IfNextMsgBox "选区合规"ActiveWindow.View = xlNormalView
End Sub
【代码解析】
第4行代码读取选中单元格所在的整行区域。
第6~14行代码循环遍历活动工作表中的水平分页符。
第7行代码获取水平分页符的位置,即分页符之下的单元格。
第8行代码获取分页符之上的单元格。
第9行代码判断是否跨页,其中的判断条件为Not (a or b)
,其展开形式为Not a And Not b)
,即DownCell和UpCell都在rSelect之内。
第10行代码显示提示信息。
第11行代码退出分页预览模式。
第12行代码结束代码过程执行。
第15~16行代码与上面类似,不再赘述。
这篇关于如何快速判断Excel中选区跨页?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!