Olha juliana consegui desenvolver um código que faz isto porém ainda poderá ser melhorado veja
Primeiro faça referência a Microsoft Excel 10.0 Object Library ou outra versão.
agora cole este código no projeto.
Private Sub Command1_Click()
ExcelToFlexgrid ' Executa a sub
End Sub
Private Sub ExcelToFlexgrid()
Dim xlObject As Excel.Application
Dim xlWB As Excel.Workbook
Set xlObject = New Excel.Application
Set xlWB = xlObject.Workbooks.Open("C:\Planillha.xls")
Clipboard.Clear
With xlObject.ActiveWorkbook.ActiveSheet
.Range("A1:d7").Copy 'Copia as celulas para o clipboard ( no caso copiei desde A1 até D7)
End With
With MSFlexGrid1
.FixedCols = 0
.Rows = 7 ' aqui você informa a quantidade de linhas que terá a flex (neste caso 7 'D7')
.Cols = 4 ' aqui a quantidade de colunas(neste caso 4 'A ao D')
.Redraw = False
.Row = 0
.Col = 0
.RowSel = .Rows - 1
.ColSel = .Cols - 1
.Clip = Replace(Clipboard.GetText, vbNewLine, vbCr) ' Cola os dados no flexGrid
.Col = 1
.Redraw = True
.Refresh
End With
xlObject.DisplayAlerts = False
' Fecha o Excel
xlWB.Close
xlObject.Application.Quit
Set xlWB = Nothing
Set xlObject = Nothing
End Sub
veja se já te ajuda