Does your flexgrid have enough rows? If not use .additem to add rows. You could amend dglienna's code if you want to:

Quote Originally Posted by dglienna
VB Code:
  1. Public Function ReadFlex(FileName As String)
  2. Dim str As String, rowI() As String, colI() As String
  3. Open FileName For Input As #1
  4.   str = Input(LOF(1), #1) ' Read file into string
  5.  [COLOR=DarkRed][I] str = replace(str,",",vbTab) ' replaces comma with a tab character, so .additem works properly[/I][/COLOR]
  6. Close #1 'Close the file
  7. rowI() = Split(str, vbCrLf) ' Split into rows
  8. [COLOR=DarkRed][I]for z= MSFlexgrid1.rows to 1 step -1
  9.   MSFlexgrid1.removeitem 1
  10. next z[/I][/COLOR]
  11. For i = 0 To UBound(rowI) ' Determine number of rows
  12.   [COLOR=DarkRed][I]MSFlexgrid1.additem rowI(i)[/I][/COLOR]  
  13.  Next i
  14. End Function
.additem will add a row, and uses the tab character to split the input row into columns. My approach deletes all the rows in the grid first, then populates it one row at a time