冻结顶行会分割屏幕

时间:2014-06-10 08:37:16

标签: excel vba excel-vba

我录制了一个宏,它只使用了Excel 2007中Freeze Panes下拉列表中内置的“Freeze Top Row”选项。

编辑器中查看的代码如下:

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

但是,当我从编辑器运行此代码时,它会分割屏幕而不是冻结窗格。它提供了所需的效果,但在功能区上选择了“分割”选项。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

出于某种原因,您描述的行为是正确的 我没有那台ATM的答案。但是下面的工作会冻结顶行 使用注释代码的效果相同。

Rows("2:2").Select '~~> Range("A2").Select
ActiveWindow.FreezePanes = True

注意:如果ScreenUpdating为False,则以上内容无效,然后在代码中设置为True。

答案 1 :(得分:0)

要冻结顶行,请使用以下代码:

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

要冻结更多行而不仅仅是顶行,请将Rows("1:1").Select更改为所需的行。

您需要激活要冻结的工作表。以下代码是您可以使用的示例过程:

Public Sub fFreezeRow(wsName As String, intRow As Integer)

With ThisWorkbook.Worksheets(wsName)
    .Activate
    .Rows(intRow & ":" & intRow).Select
End With

ActiveWindow.FreezePanes = True

End Sub
相关问题