Selmo, bom dia!
Se eu entendi bem, vc gostaria que o form fosse finalizado caso outra planilha fosse aberta correto?
Então vamos lá:
No evento WorkBook_WindowDeactivate da planilha que contém o form, caso a janela perca o foco, o que ocorrerá quando vc abrir outra planilha, vc simplesmente obriga o form a fechar "Unload UserForm1", exibe a aplicação "Excel" e se for o caso, fecha a pasta salvando as alterações "ThisWorkBook.Close(true) , evitando assim que o erro ocorra e permite que a outra pasta seja aberta. Agora se preferir apenas fechar o form, use no evento "Unload Userform1".
Fecha o form, exibe a aplicação, salva e fecha a pasta
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Unload Userform1 'fecha o form
Application.Visible = True 'exibe o Excel
ThisWorkbook.Close (True) 'salva alterações e fecha a pasta
End Sub
Fecha o form e exibe a aplicação
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Unload Userform1 'descarrega seu form
Application.Visible = True 'exibe o Excel
End Sub
Espero ter ajudado, qq coisa estamos ae!
[]s
Espero ter ajudado.
Abs.
Saulo Robles
Postado : 04/06/2015 10:00 pm