Olá, estou com problema no Private Sub Workbook_BeforeClose(Cancel As Boolean), acredito que seja um problema localizado, só acontece no Office 2016, criei um form para fechar a planilha, onde ele faz a pergunta se deseja sair, sim ou não, até o office 2013 funciona normalmente, mas no 2016 quando ele faz a pergunta se quero sair e clico em não (que faz executar o Cancel=True) ele cancela o fechamento da planilha, mas se eu clicar novamente para fechar a planilha, em vez de executar novamente o código que esta no Private Sub Workbook_BeforeClose(Cancel As Boolean) ele não executa o código e faz a clássica pergunta se quer salvar, não salvar ou cancelar...
Ao meu ver o erro acontece somente quando o Cancel=True é utilizado no Private Sub Workbook_BeforeClose(Cancel As Boolean), e somente no Office 2016, acredito que seja um problema de versão do próprio office.
Segue em anexo o modelo, mas para acontecer o problema teste no office 2016.
Se alguém poder ajudar, obrigado!
Private Sub Workbook_BeforeClose(Cancel As Boolean)
sairFechar.Show
sairabortar = ThisWorkbook.Worksheets("Planilha1").Range("A1").Value 'ABORTAR
If sairabortar = "ABORTAR" Then
ThisWorkbook.Worksheets("Planilha1").Range("A1").Value = ""
Cancel = True
End
End If
For Each w In Application.Workbooks
w.Save
Next w
ThisWorkbook.Application.Quit
End Sub
Postado : 11/02/2016 5:57 am