私も一日考えましたが、答えが入っていないようですね。
私も知りたく残念です。APIなど使わないと出来ないのでしょうか。
----
少し条件を曖昧にして下記はどうでしょうか。
もう少し改善するとお望みのものになるかもしれません。
但し実用性という点からはこんなもので常時監視させて
良いのでしょうか。
---
Dim r As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
p = ActiveCell.Row
MsgBox p - r '確認用
Application.ActiveWindow.SmallScroll Down:=p - r
r = p
End Sub