如何使用 vba 冻结窗格(带有示例)


您可以在 VBA 中使用以下语法来冻结 Excel 工作表中的特定窗格:

 Sub FreezeCertainPanes()

With ActiveWindow
    If .FreezePanes Then .FreezePanes = False
    .SplitColumn = 0
    .SplitRow = 1
    .FreezePanes = True
End With

End Sub

.SplitColumn参数指定要冻结的列数(从左侧开始)。

.SplitRow参数指定要冻结的行数(从顶部开始)。

此特定宏仅冻结 Excel 工作表的第一行。

以下示例展示了如何在实践中通过以下 Excel 工作表使用此语法:

示例 1:使用 VBA 冻结第一行

我们可以创建以下宏来冻结 Excel 工作表的第一行:

 Sub FreezeCertainPanes()

With ActiveWindow
    If .FreezePanes Then .FreezePanes = False
    .SplitColumn = 0
    .SplitRow = 1
    .FreezePanes = True
End With

End Sub

执行此宏后,工作表的第一行将被冻结:

无论我们滚动多远,第一行都将保持可见。

示例 2:使用 VBA 冻结第一列

我们可以创建以下宏来冻结 Excel 工作表的第一行:

 Sub FreezeCertainPanes()

With ActiveWindow
    If .FreezePanes Then .FreezePanes = False
    .SplitColumn = 1
    .SplitRow = 0
    .FreezePanes = True
End With

End Sub

执行此宏后,工作表的第一列将冻结:

无论行驶距离多远,第一列都将保持可见。

示例 3:使用 VBA 冻结特定行和列

我们可以创建以下宏来冻结 Excel 工作表的前 3 行前 2 列

 Sub FreezeCertainPanes()

With ActiveWindow
    If .FreezePanes Then .FreezePanes = False
    .SplitColumn = 2
    .SplitRow = 3
    .FreezePanes = True
End With

End Sub

执行此宏后,工作表的前 3 行和前 2 列将被冻结:

无论行驶距离多远,前 3 行和前 2 列都将保持可见。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何查找最后使用的行
VBA:如何查找最后使用的列
VBA:如何插入多行

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注