Skip to main content

Navigate to cell and reset frozen panes

Unfreezes panes, navigates the viewport to a target cell (A10), then refreezes panes at a different cell (D10).

(function () {
let worksheet = Api.GetActiveSheet();

// Step 1: Unfreeze panes so the view can scroll freely
worksheet.GetFreezePanes().Unfreeze();

// Step 2: Select the target cell. Also resets the viewport
worksheet.GetRange("A10").Select();

// Step 3: Refreeze at D10 after the view has settled
// A timeout function is required because Select() updates the viewport asynchronously
setTimeout(function () {
worksheet
.GetFreezePanes()
.FreezeAt(worksheet.GetRange("D10")); // The cell you want to freeze panes at
}, 100);
})();

Methods used: GetActiveSheet, GetFreezePanes, Unfreeze, GetRange, Select, FreezeAt

Reference Microsoft VBA macro code

Sub NavigateAndRefreeze()
ActiveWindow.FreezePanes = False
Application.Goto Reference:=Range("A10"), Scroll:=True
ActiveWindow.FreezePanes = True
End Sub

Result

Freeze panesFreeze panes