I am trying to make it when a user clicks on a row in a specific column, a list box will appear next to that column with the middle of the listbox aligned with the selected row.

Here is what I have:
If Target.Column = 9 Then
    Sheet1.StatusBox.Visible = True
    Sheet1.StatusBox.Top = 108 + (16 * (Target.Row - 7))
It works for the first 9 or 10 rows but the further down the page I go the further away from the selected row the listbox gets. The first row of data is row 7 and most of the rows are 15pt. Is there definite equation to solve this?