codice:
Dim i, PosRecord, PaginaDaVisualizzare as Integer
Dim IDRicerca as Integer
IDRicerca = 137 'poniamo che cerchi il record con ID 137

For i = 0 to MyTable.Rows.Count - 1 'MyTable è il datasource del datagrid
   If MyTable.Rows(i)("Nome_Campo_Con_ID") = IDRicerca Then
      Exit For
   End If
Next i
PosRecord = i
'a questo punto hai salvato in "i" la osizione del record

Dim PaginaDaVedere as Integer

For i = 0 To TuoDtg.PageCount - 1 'TuoDtg è il tuo datagrid
   If (TuoDtg.PageSize * (i + 1)) >= PosRecord And (TuoDtg.PageSize * (i)) <= PosRecord Then
      Exit For
   End If
Next i

PaginaDaVisualizzare = i
Dovrebbe funzionare