冻结拆分窗格可以使表格的标题行在滚动滚轮时始终保持在最前面。这个功能是经常被使用的excel功能。
在vba中可以使用Window对象的SplitRow和SplitColumn属性进行窗格的拆分,设置FreezePanes属性可以进行窗格的冻结。
其中SplitRow设置要冻结几行,SplitColumn要设置冻结几列。具体代码如下:
Sub QQ1722187970()
Dim oWindow As Window
Set oWindow = ActiveWindow
With oWindow
'以下代码冻结首行
.SplitColumn = 0
.SplitRow = 1
.FreezePanes = True
End With
End Sub
对于已经有冻结的窗格,使用上述代码会产生错误,需要先将原来的冻结拆分删除,故修改代码成如下的通用代码:
Sub 冻结窗格(oWK As Worksheet)
Dim oWindow As Window
oWK.Activate
Set oWindow = oWK.Application.ActiveWindow
With oWindow
.FreezePanes = False
.SplitColumn = 0
.SplitRow = 0
'以下代码冻结首行
.SplitColumn = 0
.SplitRow = 1
.FreezePanes = True
End With
End Sub


发表评论