如何用vba冻结拆分窗格?

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

 

       

发表评论