Utiliza este codigo en un control command
Private Sub Command1_Click()
'El archivo excel en blanco debe existir
Archivo = App.Path & "BDATOS.XLS"
'Se abre la aplicacion EXCEL en background
Set Pxls = CreateObject("Excel.Application")
Pxls.Workbooks.Open Archivo
Pxls.Visible = False
'Se activa la hoja para escribir
Pxls.Worksheets("Hoja1").Activate
'Suponemos que la grilla contiene menos de 28 filas. Si es mas, debes cambiar el
'codigo para activar las celdas correspondientes
'Recorro la grilla por filas
For i = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.Row = i
'Obtengo el caracter de fila para posicionar en la planilla excel
sCaracter = Char(64 + i)
'Recorro la grilla por columnas
For j = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = j
xValorCelda = MSFlexGrid1.Text
sCelda = sCaracter & j
'Registro el valor en la celda de la planilla
Pxls.Worksheets("Hoja1").Range(sCelda).Value = xValorCelda
'Para leer de una celda desde la planilla, el codigo seria
'xValorCelda = Pxls.Worksheets("Hoja1").Range(sCelda).Value
Next j
Next i
'Cierro la planilla aceptando los cambios
Pxls.ActiveWorkbook.Close SaveChanges:=True
'Si quiere Cerrar la planilla sin aceptar los cambios, entonces deberia escribir
'Pxls.ActiveWorkbook.Close SaveChanges:=False
End Sub
Espero te sirva, por cualquier duda, escribeme a
jose_arriagada@hotmail.com