Hola amigos a ver quien me puede ayudar.
 
Tengo un
 DataGridView1, ahi cargo lo que tengo en excel con un path fijo (Ej: C:\test.xls) 
Tengo un botón para agregar filas al 
datagridview, todo bien hasta ahí 
El problema es en el momento de exportar, me aseguro de cerrar la lectura del excel y cuando le doy me da muchos errores distintos, por ejemplo: 
El índice no es válido. (Excepción de HRESULT: 0x8002000B (DISP_E_BADINDEX))
El formato no es válido, etc. 
Lo que quiero realmente es salvar los datos que se agregan nuevos al mismo archivo de excel. 
La referencia agregué la 11, la válida para Office 2003.  
dgg es el DataGridView    
Código vb:
Ver originalImports Excel = Microsoft.Office.Interop.Excel
Imports System.Data
Imports System.Data.SqlClient
Imports System.Windows.Forms 
Imports System.IO
Imports System.Data.OleDb 
Public Class Form1
    Inherits System.Windows.Forms.Form
    Private MiConexion As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties = 'Excel 8.0'; Data Source=C:\prueba.xls;")
    Private MiAdaptador As New OleDbDataAdapter("SELECT * FROM [Hoja1$]", MiConexion)
    Private MiDataSet As New DataSet()
    Private MiEnlazador As New BindingSource
 
    Private Sub Update_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Update_Btn.Click
        Dim commandbuilder As New OleDb.OleDbCommandBuilder(Me.MiAdaptador) 
        MiConexion.Open()
        MiAdaptador.Fill(MiDataSet)
        MiEnlazador.DataSource = MiDataSet.Tables(0)
        Me.dgg.DataSource = MiEnlazador
    End Sub
    Private Sub agregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles agregar_Btn.Click
        Try
            Dim nombre As DataRow
            nombre = MiDataSet.Tables(0).NewRow()
            nombre("Nombre") = TB_nombre.Text
            nombre("Teléfono") = TB_telefono.Text
            nombre("Motivo") = TB_motivo.Text
            nombre("Otros") = TB_otros.Text
            MiDataSet.Tables(0).Rows.Add(nombre)
            Me.MiAdaptador.Update(CType(Me.MiEnlazador.DataSource, DataTable))
        Catch
        End Try
    End Sub
 
    Private Sub Export_Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Export_Btn.Click
        'Creamos las variables 
        Dim exLibro As Excel.Workbook
        Dim exHoja As Excel.Worksheet
        Dim exApp As New Excel.Application 'Se debe agregar la referencia en el proyecto para usar esta función
        ' Variables para # de columnas y # de renglones 
        Dim iCol As Integer
        Dim iRow As Integer
        Try
            'Añadimos el Libro al programa, y la hoja al libro 
            exLibro = exApp.Workbooks("C:\prueba.xls")
            exHoja = exLibro.Worksheets("Hoja1")
            iCol = dgg.Columns.Count 'MiDato2 
            iRow = dgg.Rows.Count 'MiDato1 
            If iCol = 0 Then
                MsgBox("No hay información por exportar a Excel", MsgBoxStyle.Information, "mi programa")
            Else
                'Aqui recorremos todas las filas 
                For i As Integer = 1 To iCol
                    If dgg.Columns(i - 1).Visible = True Then
                        exHoja.Cells.Item(1, i) = dgg.Columns(i - 1).Name.ToString
                        exHoja.Cells.Item(1, i).HorizontalAlignment = 3
                    End If
                Next
                'Por cada fila pone todas las columnas y vamos escribiendo. 
                For Fila As Integer = 0 To iRow - 1
                    For Col As Integer = 0 To iCol - 1
                        If dgg.Columns(Col).Visible = True Then
                            exHoja.Cells.Item(1, Col + 1) = dgg.Columns(Col).HeaderText 'Estas son las columnas del encabezado
                            exHoja.Cells.Item(Fila + 2, Col + 1) = dgg.Rows(Fila).Cells(Col).Value
                        End If
                    Next
                Next
                exLibro.SaveAs("C:\prueba.xls")
                exApp.Application.Visible = True
            End If
            'Se eliminan las variables de objeto excel 
            exApp = Nothing
            exHoja = Nothing
            exLibro = Nothing
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, "Error al exportar a Excel")
            Return
        End Try
        Return
    End Sub
End Class