これを試すことができます (ワークシート コード モジュールで)。選択が変更されるたびに、「Summary*」などのコンテンツの最初の列を上方向にチェックします。ワークシートがまだその行に固定されていない場合は、その調整が行われます。
問題の 1 つは、上にスクロールするには、上部ペインの行の 1 つをクリックする必要があることです...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static lastFreeze As Long
Dim c As Range, r As Long, sel As Range
Set sel = Selection
'get the first cell on the selected row, then
' go up until find a content like "Summary*"
Set c = Target.Parent.Cells(Target.Cells(1).Row, 1)
Do While (Not c.Value Like "Summary*") And c.Row > 1
Set c = c.Offset(-1, 0)
Loop
'need to switch freeze location?
If c.Row > 1 And c.Row <> lastFreeze Then
ActiveWindow.FreezePanes = False
'prevent re-triggering event
Application.EnableEvents = False
Application.GoTo c.Offset(-1, 0), True
c.Offset(1, 0).Select
ActiveWindow.FreezePanes = True
sel.Select
Application.EnableEvents = True
lastFreeze = c.Row
End If
End Sub