Try it this way... I just typed this in Notepad so it is untested...

Code:
Imports Excel = Microsoft.Office.Interop.Excel
Public Sub Create_Excel_File(ByVal sPath As String, ByVal sName As String)

    Dim pExcel_App As Excel.Application, pExcel_Wkbook As Excel.Workbook
    Dim wkbSheet As Excel.Worksheet, sOutExcelPath As String
    
    sOutExcelPath = sPath & "\" & sName
    pExcel_App = New Excel.ApplicationClass
    pExcel_Wkbook = pExcel_App.Workbooks.Add
    wkbSheet = pExcel_Wkbook.Worksheets.Add
    
    pExcel_App.DisplayAlerts = False
    pExcel_App.ActiveWorkbook.Close(SaveChanges:=True, Filename:=sOutExcelPath)
    pExcel_Wkbook.SaveAs (sOutExcelPath)
    
    pExcel_Wkbook.Close()
    pExcel_App.Quit()

    releaseObject (pExcel_App)
    releaseObject (pExcel_Wkbook)
    releaseObject (wkbSheet)
End Sub

Private Sub releaseObject(ByVal obj As Object)
    Try
        System.Runtime.InteropServices.Marshal.ReleaseComObject (obj)
        obj = Nothing
    Catch ex As Exception
        obj = Nothing
    Finally
        GC.Collect()
    End Try
End Sub
Use the same way to release object in the second part of the code...

Hope this helps...