Para fechar o Aplicativo excel (Tela cinza) acho que é disto que está falando, você poderá utilizar a seguinte rotina :
Troque aque está no Evneto Workbook_BeforeClose por esta :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim AppExcel As Excel.Application
Set AppExcel = New Excel.Application
For Each wk In Workbooks
If wk.Name = "B.xlsx" Then
Workbooks("B.xlsx").Save
Workbooks("B.xlsx").Close
ActiveWorkbook.Save
End If
Next
With AppExcel
.DisplayAlerts = False
.ScreenUpdating = True
End With
Set AppExcel = Nothing
Application.Quit
End Sub
Uma obs, como não sei qual os passos está seguindo, ou seja ao abrir A.xlsm é aberto o B.xlsx e o foco fica nele, aqui não sei o caminho que está fazendo, então :
Se Fechar primeiro o B.xlsx e depois fechar o A.xlsm , a instância App Excel será encerrada fechando o Aplicativo.
Mas se Fechar o A.xlsm , sem fechar o B.xlsx antes, os arquivos serão fechados, mas a instância do App Excel continuará aberta.
Faça os testes e se ainda não for isto, detalhe melhor o passo a passo que está realizando, assim podemos ver o que ajustar.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 27/09/2013 10:31 pm