VBA凍結窗格
凍結窗格可以讓我們在捲動工作表時,固定指定的列或欄位,滑動捲軸往上下左右時,標題不會跟著捲走,那VBA怎麼凍結窗格呢?
如將以下凍結標題列(第一列)

輸入巨集
※輸入以下指令※
Sub 凍結窗格()
Range("A2").Activate
ActiveWindow.FreezePanes = True
End Sub

執行巨集
點選「開發人員」-「 巨集」或按下「Ctrl」+「F8」快捷鍵,並「執行」巨集。

執行後則凍結標題列(第一列),向下拖曳仍固定第一列

凍結標題欄
我們也可以改寫凍結標題欄如以下指令
Sub 凍結窗格()
Range("B1").Activate
ActiveWindow.FreezePanes = True
End Sub

執行後則凍結標題欄(第一欄),向右拖曳仍固定第一欄

凍結窗格的原理
以選取儲存格位置為基準,固定儲存格上方的列與左方的欄。
儲存格在A2 → 固定第1列
儲存格在A3 → 固定第1~2列
儲存格在B1 → 固定第A欄
儲存格在B2 → 固定第 1 列與 A 欄
重點提醒:
- 凍結窗格不會包含你選取的儲存格本身,而是以上方與左方的範圍為主。
- 若選取的是 A1 儲存格,則無法凍結任何列或欄,因為它沒有上方或左方的儲存格。