А что есть "последняя ячека"? А если дипазон задан как "A2,D4" или, скажем, так - "Sheet1!A2:Sheet1

4,Sheet1!A2:Sheet1

4". То есть, как я понимаю, диапазон в Excel не обязан быть непрерывной областью, а может быть набором ячеек, разбросанных по листам документа. В этом случае понятие "крайности" ячейки становится слишком субъективным.
Отвечая на вопрос, диапазон - это Range. Его можно получить так:
X++:
xlApp = new COM("Excel.Application");
xlBooks = xlApp.workbooks();
xlBook = xlBooks.open(filename);
range = xlApp.Range(range)
Естественно, я не призываю работать на прямую с COM - используйте какую-нибудь объектную обертку над ним - ComExcelDocument_Ru, если не написали еще свою.
У range есть методы columns() и rows(), можно попробовать использовать их. Я же во исключение сюрпризов с хитрым Range предпочитаю работать с дипазоном поячеечно:
X++:
application.goto reference:=range
for each cell in range
label = cell.address(false, false)
...
next
Таким образом можно перебрать все ячейки, входящие в дипазон, получить их адреса и затем уж исходя из своих критериев реить какая из них "крайняя".