Вы пробовали метод поиска объекта диапазона?Он «возвращает объект Range, представляющий первую ячейку, в которой [информация] найдена» согласно справке MS VBA.
Чтобы получить номер строки с использованием VBA, предполагая, что идентификаторы уникальны:
workbook.WorkSheets(sheetName).Columns(primaryID_Column).Find(ID_to_find).Row