冻结拆分窗格可以使表格的标题行在滚动滚轮时始终保持在最前面。这个功能是经常被使用的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
发表评论