如何零基础学习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 - 天天要闻

科技分类资讯推荐

小米王化:“传小米与徕卡终止合作”系谣言 - 天天要闻

小米王化:“传小米与徕卡终止合作”系谣言

今日有传闻称,小米与徕卡的合作关系即将结束。对此,小米公关总经理王化回应称:“上次是2023年6月1日,番茄发了个微博说小米14就是最后一代了。我转发了文案搭配的是“这就胡说了”,这次居然进阶了,来了个据报道,还有作者……我的回复也需要进阶,请大家笑纳:这还是胡说。”...
微信重大更新! - 天天要闻

微信重大更新!

7月4日,腾讯宣布微信重大更新——优化聊天记录备份。据了解,优化后,用户可以将手机聊天记录备份至外部存储设备。聊天记录还可以选择“自动备份”。
混动轿车终局首选,“智能电混四驱轿车”领克10 EM-P全球首秀 - 天天要闻

混动轿车终局首选,“智能电混四驱轿车”领克10 EM-P全球首秀

在新能源市场“价格战”白热化的当下,领克只卷价值,卷技术,卷产品。在此背景下,领克首款中大型豪华运动轿车——领克10 EM-P迎来首秀亮相。新车定位“智能电混四驱轿车”,标配四驱和激光雷达,首次将高端配置一同下放至20万级主流汽车市场。这种“顶配变标配”的平权
百年MG加速新能源布局:2年13款新车矩阵,全面ALL IN电动化赛道 - 天天要闻

百年MG加速新能源布局:2年13款新车矩阵,全面ALL IN电动化赛道

6月30日,拥有百年底蕴的MG品牌,正式宣布全面 All in 新能源。背靠上汽集团雄厚的技术实力,规划未来 2 年推出 13 款全新新能源车型,产品矩阵覆盖纯电、插混、增程三种动力形式,轿车、SUV、跑车、猎装车四大车身类型,这场转型不仅是动力革新,更是百年
科技赋能绿色发展 中国为全球探新路 - 天天要闻

科技赋能绿色发展 中国为全球探新路

新华社贵阳7月6日电 题:科技赋能绿色发展 中国为全球探新路 新华社记者周宣妮 “很期待看到中国无人驾驶汽车如何从贵州工厂走向欧洲乃至世界,未来也许像我一样不会开车的人也能在AI辅助下安全驾驶。”来自塞浦路斯的巴黎政治大学学生费奥多尔·德米特连科在贵州试乘无人驾驶巴士时如此感慨。 2日至7日,在贵州的青山绿水...
小米YU7今日交付,雷军向首批车主交车,并亲手开车门 - 天天要闻

小米YU7今日交付,雷军向首批车主交车,并亲手开车门

7月6日,小米YU7正式开启全国交付,覆盖全国58个城市。雷军发文表示:今天下午,小米YU7正式交付首批车主。希望这台车,陪伴每一个热爱生活的你和你们,解锁更多美好体验。感谢大家的支持与信任!有多位网友发布视频和照片,今日雷军在北京小米科技园亲手给首批YU7车主交付新车,并为他们开车门。6月26日19:00,小米首款SU...