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

