《VBA经典应用69例》(版权10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:VBA经典应用69例应用5:使用VBA冻结窗格
【分享成果,随喜正能量】生活中,你面对这个世界并不是射出了一支箭,而是你面对了一堵墙。所以说感谢这一切,经过、遇见、曲折和磨砺,不要再给自己树立那些推不倒的墙。。
应用5 利用VBA完成工作表窗格的冻结及拆分
这个专题的应用仍是非常有实际意义的,内容是利用VBA来完成我们平时工作中的一些基本操作:工作表窗口的冻结及拆分。
Excel工作表操作中窗口的冻结和拆分是一个非常方便的功能,我们这讲将研究如何在 Excel中利用VBA准确使用冻结窗口功能。
2 使用VBA冻结窗格
在上面的讲解中,我介绍了在Excel中操作窗口的部分,在VBA代码中,如果要冻结窗格该如何操作呢?我们只需根据要冻结的范围进行选择,选择可以是行或者列也可以是单元格,然后使用FreeePanes = True,即可。下面我将通过一些实例给大家讲解。这里的FreeePanes是Window对象的FreezePanes属性,下面我们来详细讲解一下这个属性。
Window对象的FreezePanes属性:ActiveWindow.FreezePanes,如果拆分窗格被冻结,则该属性值为 True。读/写 Boolean。
语法:expression.FreezePanes
其中expression为一个代表Window对象的变量。
- FreezePanes可能为True, 并且Split为False, 反之亦然。
- 该属性仅应用于工作表和宏工作表。
实例一:以工作表第5行为基准进行窗格冻结
在上面的Excel操作讲解中,我曾经讲到按行的窗格冻结,下面的代码将以当前工作表的第五行为基准进行冻结。代码:
Sub mynzA()
'首先,确保没有使用窗口冻结操作
ActiveWindow.FreezePanes = False
'基于行的冻
Rows("5:5").Select
'冻结窗口
ActiveWindow.FreezePanes = True
End Sub
代码截图:
代码讲解:代码非常的简单,先确保当前窗口没有使用窗口的冻结操作,然后选择基准行,最后冻结窗格。
代码的运行效果:
实例二:以工作表E列为基准进行窗格冻结
第二个应用是以当前工作表的E列为基准进行冻结。代码:
Sub mynzB()
'首先,确保没有使用窗格冻结操作
ActiveWindow.FreezePanes = False
'基于列的冻结
Columns("E").Select
'冻结窗口
ActiveWindow.FreezePanes = True
End Sub
代码截图:
代码的解读:
Columns("E").Select 是先选择锁定列的基准,最后锁定。
代码的运行效果:
实例三:同时锁定工作表行、列的窗格冻结
第三个应用是以当前工作表的“E5”单元格为基准进行冻结。代码:
Sub mynzC()
'首先,确保没有使用窗格冻结操作
ActiveWindow.FreezePanes = False
'基于单元格的冻结
Range("E5").Select
'冻结窗口
ActiveWindow.FreezePanes = True
End Sub
代码截图:
代码解读:
Range("E5").Select 这句代码是指定了冻结窗格的基准为“E5”单元格。
代码的运行效果:
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: