I'm assuming you mean last visible column/row.
If so you need to use the .ColIsVisible and .RowIsVisible properties of the Grid in combination with .TopRow and .LeftCol as koolsid touched on and si_the_geek mentioned above.
The following sample code will display the number of the last visible col/row in a MSFLEXGRID.
VB Code:
Private Sub uiGetLastVisibleColRows_Click()
Dim i As Integer
Dim lastVisible As Integer
lastVisible = 0
For i = MSFlexGrid1.TopRow To (MSFlexGrid1.Rows - 1)
If ((Not (MSFlexGrid1.RowIsVisible(i))) Or (i = (MSFlexGrid1.Rows - 1))) Then
lastVisible = (i - MSFlexGrid1.FixedRows)
Exit For
End If
Next i
Call MsgBox("Last visible Row is: " & lastVisible)
lastVisible = 0
For i = MSFlexGrid1.LeftCol To (MSFlexGrid1.Cols - 1)
If ((Not (MSFlexGrid1.ColIsVisible(i))) Or (i = (MSFlexGrid1.Cols - 1))) Then
lastVisible = (i - MSFlexGrid1.FixedCols)
Exit For
End If
Next i
Call MsgBox("Last visible Column is: " & lastVisible)
End Sub
The "MSFlexGrid1.Cols - 1" in the for loop is because .ColIsVisible and .RowIsVisible are 0 based.
The additional checks on "Or (i = (MSFlexGrid1.Rows - 1))" and "Or (i = (MSFlexGrid1.Cols - 1))" is used to catch the correct values even if the last visible column/row is the actual last column/row in the grid.
Edit
To add to si_the_geek's comment on partial rows/columns. When I tested the code any partially shown row and column would be considered visible and .RowIsVisible and .ColIsVisible returned True. I tested more by changing the height/width of the grid at runtime dynamically and it seems that even if only a single pixel is visible the row/column is deemed visible.
Watch out for that 
Hope this Helps.