冻结顶行分割屏幕

我logging了一个macros,它只是使用Excel 2007中“冻结窗格”下拉列表中内置的“Freeze Top Row”选项。

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

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

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

有任何想法吗?

出于某种原因,你描述的行为是正确的。
我没有答复那台自动取款机。 但下面的工作冻结了第一排。
使用注释代码的效果相同。

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

注意:如果ScreenUpdating为False,则在上面不起作用,然后在代码中稍后设置True。

要冻结最上面一行,请使用以下代码:

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

要冻结更多的行而不是最上面的Rows("1:1").Select ,请更改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