I wouldn’t worry much about the speed in this case, but would asume the solution proposed by @llibrebel is very fast. The attempt to get a column from the CurrentSelection will fail, however, if a SheetCellRanges object (regard the plural) is returned. (There even exist multiselections across sheets.)
A SheetCellRange also knows the method queryEmptyCells. We can use it as follows:
Sub goPostLastInLeftmostColumnOfFirstSheet()
theDoc = ThisComponent
theSheet = theDoc.Sheets(0)
eCells = theSheet.Columns(0).QueryEmptyCells
finRg = eCells(eCells.Count - 1)
If finRg.RangeAddress.EndRow<>theSheet.RangeAddress.endRow Then Exit Sub
target = finRg.GetCellByPosition(0, 0)
theDoc.CurrentController.Select(target)
End Sub