是你的excel application建的不对
应给这样:
Dim appExcel As Excel.Application
Dim appwbExcel As Excel.Workbook
Dim shtActive As Excel.Worksheet
    On Error Resume Next
    'ignore errors
    Set appExcel = GetObject(, "Excel.Application") '如果当前系统中有excel在运行,就不必新建
    If Err.Number <> 0 Then '没有
        bolExcelWasNotRunning = True
        Set appExcel = CreateObject("Excel.Application") 'run it
    End If
    Err.Clear  ' Clear Err object in case error occurred.下面,根据bolExcelWasNotRunning ,如果为真,说明是你新建了excel对象,退出程序时要quit,否则只需关闭workbook这样,当你程序不完全退出,再运行excel对象也没问题!!!!
搞定!