VBA开发:如何利用ActiveWindow对象的属性实现窗格的拆分和冻结?

       

目录

1.使用Select方法和FreezePans属性拆分和冻结窗格

2.使用SplitRow、SplitColumn和FreezePans属性拆分和冻结窗格

3.窗格拆分和冻结的取消


         用户界面是任何程序设计都很重要的一环,直接影响到使用者的感受。对于我们VBA开发来说,我们将数据按照要求抓取出来之后,通常要以某种适宜的形式展现给用户。这时候就需要用到窗格的拆分、冻结。

        窗格的拆分、冻结,需要用到ActiveWindow对象。ActiveWindow对象是Window对象的一个实例,指代的是excel应用中当前活动的窗口。我们使用这个实例的Split 属性和FreezePans属性,就可以实现拆分和冻结。

        在使用FreezePans属性时,需要注意以下两点:

  1. 使用FreezePans=True时,如果Split=True,那么就按照Splitcolumn和Splitrow指定的值来冻结窗格。
  2. 使用FreezePans=True时,如果Split=False,则按照当前活动单元格的Row-1,Column-1来冻结窗格。

        由此我们有两种不同的方法来实现拆分和冻结窗格。

1.使用Select方法和FreezePans属性拆分和冻结窗格

这个例程我们首先选定单元格(3,4),然后将ActiveWindow的Split属性设置为False,然后将FreezePanes属性设置为True。大家可以发现,窗格会以Row=2,Column=3拆分并冻结。

 

Public Function splitwindow1()
    '选定单元格
    Sheet5.Cells(3, 4).Select
    '按选定单元格的Row-1,Column-1来冻结窗格
    With ActiveWindow
        .Split = False
        .FreezePanes = True
    End With
End Function

 

2.使用SplitRow、SplitColumn和FreezePans属性拆分和冻结窗格

        这个例程,我们直接使用SplitRow和SplitColumn属性指定以Row=1和Column=3来拆分,然后使用FreezePans属性来冻结窗格。

Public Function splitwindow2()
    '使用SplitRow和SplitColumn来拆分和冻结窗格
    With ActiveWindow
        .SplitRow = 1
        .SplitColumn = 3
        .FreezePanes = True
    End With
End Function

 

3.窗格拆分和冻结的取消

        拆分的取消有两种方法,一种是直接将Split属性设置为False,但是这种方法并不改变SplitRow和SplitColumn的值,所以并不安全,下次可能会出现误操作。另一种是将SplitRow和SplitColumn属性设置为0,这时候自动就将Split属性设置为False了。

        冻结的取消很简单,直接将FreezePanes属性设置为False就可以了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZevieZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值