Excel 用于冻结窗格(顶行)的宏不工作

Excel 用于冻结窗格(顶行)的宏不工作,excel,excel-2007,vba,Excel,Excel 2007,Vba,我录制了一个宏来冻结窗格,但它没有按预期工作。它在第二行冻结,并使第一行隐藏。救命啊。我正在使用Excel2007。代码如下: “冻痛-第一排 With ActiveWindow .SplitColumn = 0 .SplitRow = 1 End With ActiveWindow.FreezePanes = True 我发现这段代码非常有效: Sub Freeze_Top_Panes() Application.ScreenUpdating = False R

我录制了一个宏来冻结窗格,但它没有按预期工作。它在第二行冻结,并使第一行隐藏。救命啊。我正在使用Excel2007。代码如下:

“冻痛-第一排

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

我发现这段代码非常有效:

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使用冻结窗格功能。不确定原因。

在2013年为我工作。运行时哪个单元格处于活动状态是否重要?