如何零基础学习VBA—HorizontalPageBreak和HorizontalResizeMode

2023年06月29日21:52:03 科技 1446

HorizontalPageBreak

VBA中用于表示Excel工作表中的水平分页符。水平分页符用于在打印时将工作表内容划分为多个页面。通过使用HorizontalPageBreak对象,可以对工作表进行动态地分页设置和管理。

HorizontalPageBreak对象具有以下一些常用的属性和方法:

  • Location:表示分页符所在的行号。
  • DragOff(Direction, RegionIndex):将分页符拖动到其他位置。Direction参数指定向上或向下拖动分页符,RegionIndex参数指定拖动的范围索引。
  • Delete:删除分页符。

通过使用HorizontalPageBreaks对象,可以访问和管理工作表中的所有水平分页符。例如,可以通过以下方式添加一个水平分页符:

Worksheets("Sheet1").HorizontalPageBreaks.Add Before:=Worksheets("Sheet1").Range("A10")

此代码将在单元格A10之前添加一个水平分页符。

1、Location属性:表示分页符所在的行号。

Sub GetHorizontalPageBreak()
    Dim ws As Worksheet
    Dim hpb As HorizontalPageBreak
    
    Set ws = Worksheets("Sheet1")
    
    For Each hpb In ws.HPageBreaks
        MsgBox "分页符位置: " & hpb.Location
    Next hpb
End Sub

这个示例代码会遍历名为"Sheet1"的工作表上的所有水平分页符,并通过消息框显示每个分页符的行号。

2、DragOff方法:将分页符拖动到其他位置。

Sub DragHorizontalPageBreak()
    Dim ws As Worksheet
    Dim hpb As HorizontalPageBreak
    
    Set ws = Worksheets("Sheet1")
    
    '将第一个水平分页符向下拖动5行
    Set hpb = ws.HPageBreaks(1)
    hpb.DragOff Direction:=xlDown, RegionIndex:=5
End Sub

这个示例代码将会将名为"Sheet1"的工作表上的第一个水平分页符向下拖动5行,即将该分页符从原来的位置移动到当前位置的下方第5行。

3、Delete方法:删除分页符。

Sub DeleteHorizontalPageBreak()
    Dim ws As Worksheet
    Dim hpb As HorizontalPageBreak
    
    Set ws = Worksheets("Sheet1")
    
    '删除第一个水平分页符
    Set hpb = ws.HPageBreaks(1)
    hpb.Delete
End Sub

这个示例代码会删除名为"Sheet1"的工作表上的第一个水平分页符。

HorizontalResizeMode

是Excel VBA中的一个枚举类型,用于指定水平调整大小模式。它可以用于调整水平方向上的图表、形状和对象的大小。

HorizontalResizeMode枚举类型具有以下几个常量:

  • Both:同时调整对象的左边界和右边界以进行水平调整大小。
  • Center:仅调整对象的左右边界的位置,而不改变其大小。
  • Left:仅调整对象的左边界的位置,而不改变其大小。
  • None:不进行水平调整大小。
  • Right:仅调整对象的右边界的位置,而不改变其大小。

使用HorizontalResizeMode枚举类型,可以在对图表、形状和对象进行水平调整大小时,根据具体需求选择合适的模式。例如,可以将Left属性设置为HorizontalResizeMode.Right来使对象的左边界保持固定,只调整该对象的右边界位置。

当需要对图表、形状和对象进行水平调整大小时,可以使用HorizontalResizeMode枚举类型中的常量来指定调整方式。以下是根据前面提到的5个常量进行的代码示例:

1、调整对象的左边界和右边界以进行水平调整大小:

Sub ResizeBoth()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '将Rectangle1替换为实际的形状或对象名称
    
    obj.LockAspectRatio = False
    obj.Resize shapeRange.Width * 2, shapeRange.Height '将shapeRange替换为实际的形状或对象包含的范围
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Both
End Sub

2、仅调整对象的左右边界的位置,而不改变其大小:

Sub ResizeCenter()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '将Rectangle1替换为实际的形状或对象名称
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Center
End Sub

3、仅调整对象的左边界的位置,而不改变其大小:

Sub ResizeLeft()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '将Rectangle1替换为实际的形状或对象名称
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Left
End Sub

4、不进行水平调整大小:

Sub NoResize()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '将Rectangle1替换为实际的形状或对象名称
    
    obj.HorizontalResizeMode = HorizontalResizeMode.None
End Sub

5、仅调整对象的右边界的位置,而不改变其大小:

Sub ResizeRight()
    Dim obj As Object
    Set obj = Worksheets("Sheet1").Shapes("Rectangle1") '将Rectangle1替换为实际的形状或对象名称
    
    obj.HorizontalResizeMode = HorizontalResizeMode.Right
End Sub

注意:上述示例中的"Sheet1"和"Rectangle1"分别表示要操作的工作表和形状或对象的名称,你需要根据实际情况进行修改。另外,代码示例中针对形状和对象的处理方式略有差异,具体取决于你的需求和使用的对象类型。

如何零基础学习VBA—HorizontalPageBreak和HorizontalResizeMode - 天天要闻

科技分类资讯推荐

“充电宝易爆炸,多高校禁用”,冲上热搜第一!罗马仕发道歉声明 - 天天要闻

“充电宝易爆炸,多高校禁用”,冲上热搜第一!罗马仕发道歉声明

来源:@ROMOSS罗马仕、红星新闻、南方都市报版权归原作者所有,如有侵权请及时联系近日,多位网友反映收到学校下发的排查通知,称“20000毫安的罗马仕牌充电器在充电时易发生爆炸”。事件相关截图今天,相关词条冲上热搜榜第一。今天下午,@ROMOSS罗马仕 发布公开声明:对于近期“北京多所高校禁用罗马仕充电宝”事件的讨论...
2025莲花杯单一品牌赛开启 F1冠军级实力打造国家级赛车晋级平台 - 天天要闻

2025莲花杯单一品牌赛开启 F1冠军级实力打造国家级赛车晋级平台

5月30日,成都天府国际赛道——随着引擎轰鸣划破长空,2025莲花杯单一品牌赛揭幕战正式拉开帷幕。这场由中国汽车摩托车运动联合会认证、莲花品牌与铭泰集团联合打造的国家级 GT单一品牌赛,依托77年赛道基因沉淀与F1尖端技术传承,成为国内具备国际C级赛照升级资质
70.8万起售!尊界S800的“尊”在这些细节上 - 天天要闻

70.8万起售!尊界S800的“尊”在这些细节上

5月30日,尊界S800终于揭开了它最后一层“面纱”,新车共推出纯电、增程两个动力版本共4款配置,售价区间为70.8万-101.8万元。上市权益包括30000元的ADS智能辅助系统高阶包、30000元的选配金、4000元的智能辅助驾驶无忧服务权益和40000元
松下Panasonic sx电机抽搐不能加载的解决办法 - 天天要闻

松下Panasonic sx电机抽搐不能加载的解决办法

松下Panasonic sx系列有名的抖音王,打理起来极为简单,要么简单地换皮带完事,要么简单的丢掉了事。硬着头皮查电路,得不偿失,超薄时期的松下,在电路上极尽变态之能事,恨不得在针眼里做道场,像我这种显微镜加放大镜式的的眼睛,也不能凭肉眼
兆易创新,逆天改命! - 天天要闻

兆易创新,逆天改命!

一颗,难求!众所周知,存储芯片号称半导体行业的“风向标”,而价格则是存储芯片的“晴雨表”。2025年第二季度,涨价一词充斥着整个存储行业,4-6月内存DRAM和闪存NAND价格持续上升。
2025中国电脑品牌大洗牌!这十大品牌让全球科技圈震惊 - 天天要闻

2025中国电脑品牌大洗牌!这十大品牌让全球科技圈震惊

当时间滑向2025年,中国电脑市场早已不是十年前那个被国际巨头垄断的战场。本土品牌的崛起速度之快,让整个科技圈都为之侧目。作为一个长期关注科技行业的观察者,我亲眼见证了中国电脑品牌如何从"跟随者"蜕变为"领跑者"。
抖音风口揭秘:流量红利背后的残酷真相 - 天天要闻

抖音风口揭秘:流量红利背后的残酷真相

"抓住抖音风口,月入百万不是梦!"——这样的口号你一定不陌生。但抖音的风口到底是什么?是昙花一现的流量狂欢,还是真正可持续的商业机遇?今天,我将带你深入剖析这个让无数人趋之若鹜的"风口"本质。
【新机】Pura 80 Pro+/Pro今日开售,标准版配置公布 - 天天要闻

【新机】Pura 80 Pro+/Pro今日开售,标准版配置公布

华为Pura 80系列于今早10:08迎来了首销,大家都抢到了吗?这次首销机型为Pura 80 Pro+/Pro,Ultra首销日期为本月26日,标准版将于7月开售,不过除了知道有这么一个型号以及外观,其他信息在发布会上并没有披露,只是说会在7月开售。不过目前官方更新了Pura 80标准版的页面,从规格信息我们也能看到标准版的大概配置信息。P...
【新机】LED灯带没有了?Nothing新机曝光 - 天天要闻

【新机】LED灯带没有了?Nothing新机曝光

近日海外博主曝光了疑似Nothing Phone(3)的高清渲染图,能看到机子依然延续了透明后盖的设计,不过标志性的LED灯带是去掉了。内部丝印盖板具有丰富的科技感,居中奥利奥Deco,后置三摄,镜头的排列有点像一个猴子。那么大家会给这个外观设计打几分呢?据悉Nothing Phone(3)将会是Nothing的首款真正旗舰手机,性能也会大...