冻结窗格(顶行)的宏不起作用

时间:2015-12-15 20:45:58

标签: excel-vba excel-2007 vba excel

我录制了一个宏来冻结窗格,但它没有按预期工作。它在第2行冻结并使顶行隐藏。救命。我使用的是Excel 2007.代码如下:

'冻结痛苦 - 顶行

With ActiveWindow
    .SplitColumn = 0
    .SplitRow = 1
End With
ActiveWindow.FreezePanes = True

1 个答案:

答案 0 :(得分:1)

我发现这段代码完美无缺:

Sub Freeze_Top_Panes()
   Application.ScreenUpdating = False

   Rows("2:2").Select
   ActiveWindow.FreezePanes = True

   Application.ScreenUpdating = True

End Sub

要为工作簿中的所有工作表实现此目的,请尝试以下操作:

Sub Freeze_All()
Dim Ws As Worksheet
Application.ScreenUpdating = False
For Each Ws In Application.ActiveWorkbook.Worksheets
    Ws.Activate
    With Application.ActiveWindow
        .FreezePanes = True
    End With
Next
Application.ScreenUpdating = True
End Sub

我不确定这是否只影响Excel 2007(因为我还没有在其他版本上测试过),但似乎必须关闭冻结窗格功能的屏幕更新才能使用VBA。不确定为什么会这样。