如何使用 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 中执行其他常见任务: