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

科技分类资讯推荐

五菱星光2025款,10万级600续航中级轿车的质价比王者 - 天天要闻

五菱星光2025款,10万级600续航中级轿车的质价比王者

虽然国内车市早已变成买方市场,但是预算10万想买一台“完美”的纯电家轿,难度可不小。这个价位的电车,要么续航里程不长、要么车身尺寸不大、要么舒适化和智能化配置一般,这些对于家庭用户来说都是不能容忍的短板。
诺基亚“诈尸”了?不仅活得很好,还在“威胁”中国车企 - 天天要闻

诺基亚“诈尸”了?不仅活得很好,还在“威胁”中国车企

在过去的几年间,人们每每提起燃油车厂商和新能源汽车厂商的对比关系,总是喜欢用诺基亚做例子,将诺基亚在智能手机从巨无霸到迅速垮塌的经历,形容那些不求进取的燃油车企。显然,在智能手机领域,现在的诺基亚已经完全“沉底”了,在全球市场都没有什么存在感了,以至于很多不太关注科技圈的小伙伴都有一个错误的印象,诺...
观澜亭|从《哪吒2》到LABUBU,这座城市被看见 - 天天要闻

观澜亭|从《哪吒2》到LABUBU,这座城市被看见

若是给今年以来全球最火IP排名的话,潮玩LABUBU和电影《哪吒2》及其手办,都是毫无争议的“顶级”。透过二者可见,中国潮玩已然成为全球潮流文化的重要力量,正突破不同的文化背景与地理界限,走向跨文化传播。
华为Pura 80 Pro/Pro+今日首销 售价6499元起 - 天天要闻

华为Pura 80 Pro/Pro+今日首销 售价6499元起

站长之家(ChinaZ.com) 6月14日 消息:今日上午10:08,华为Pura80Pro和Pura80Pro+正式开启销售,首批在官网抢购以及线下预定的用户将陆续拿到新机。这两款机型在整体外观与配置上较为相似,不过在屏幕影像规格方面存在细微差别。在屏幕玻璃材质上,Pura80Pro采用的是第二代昆仑玻璃面板,而Pura80Pro+则配备了与Ultra相
物流快递行业  备战英吉沙鲜杏销售 - 天天要闻

物流快递行业 备战英吉沙鲜杏销售

眼下,17.75万亩英吉沙杏即将迎来丰收。为确保这些美味鲜果能以最佳状态送达全国各地消费者手中,新疆英吉沙县物流行业提前谋划、周密部署,一场全方位的运输保障工作正在紧锣密鼓地筹备中。顺丰鲜杏包装盒 (娜扎凯提 摄)“当天采摘,当天转运,当天运输……”近日,新疆顺丰速运有限公司英吉沙县分公司内,一场关于英吉...
苹果Liquid Glass UI影响文字可读性并提高设计界面难度引发质疑 - 天天要闻

苹果Liquid Glass UI影响文字可读性并提高设计界面难度引发质疑

今年晚些时候苹果设备即将推出的操作系统更新,将带来该公司十多年来首次重大的用户界面设计变革,但眼尖的观察者会发现它与旧版 Windows 有相似之处——微软也注意到了这一点。不过那些对苹果即将推出的界面感到担忧的用户将可以选择更改其视觉呈现
马克龙希望说服台积电/三星在法国建立尖端设施 - 天天要闻

马克龙希望说服台积电/三星在法国建立尖端设施

继美国大力推动芯片生产之后,欧洲似乎是下一个,因为法国总统现在渴望将台积电和三星引入该国,以在国内获取高端节点。随着全球供应链的急剧演变,各国已将重点转向通过在本地生产来满足芯片需求。