Logo Hardware.com.br
gscorrea
gscorrea Novo Membro Registrado
9 Mensagens 2 Curtidas

MsgBox antes de fechar planilha

#1 Por gscorrea 10/05/2016 - 10:55
Olá a todos.

Estou precisando de uma MsgBox que antes de fechar ou salvar a planilha ela pergunte ao usuário se ele fixou os dados (uma função da minha planilha). Quero que a MsgBox dê as seguintes opções:

Botão Sim: a planilha pode salva e fecha;
Botão Não: a planilha não salva e não fecha.

Tem como dizer para o excel esses critérios?

Obrigado desde já.
Marcelo G Prudencio
Marcelo G Pr... Geek Registrado
1K Mensagens 227 Curtidas
#2 Por Marcelo G Pr...
10/05/2016 - 14:03
Pessoalmente não entendi o objetivo, ja que esse tipo de rotina é nativa do excel, sempre que vc fecha um arquivo que sofre alteração o mesmo pergunta o que vc deseja fazer, salvar, nao salvar ou simplesmente cancelar.

No entanto o codigo para esse fim é esse:

Cole em Esta Pasta de Trabalho.

[code=vb]
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Resposta As String

Resposta = MsgBox("Deseja Fechar o Arquivo", vbYesNo, "Atenção")

If Resposta = vbYes Then
ActiveWorkbook.Save
ActiveWorkbook.Close
End If

End Sub
[/code]
Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho." - Autor Desconhecido
Simplifica que simples fica. - Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado" - Jorge Paulo Lemann.
gscorrea
gscorrea Novo Membro Registrado
9 Mensagens 2 Curtidas
#3 Por gscorrea
11/05/2016 - 11:33
Marcelo G Prudencio disse:
Pessoalmente não entendi o objetivo, ja que esse tipo de rotina é nativa do excel, sempre que vc fecha um arquivo que sofre alteração o mesmo pergunta o que vc deseja fazer, salvar, nao salvar ou simplesmente cancelar.

No entanto o codigo para esse fim é esse:

Cole em Esta Pasta de Trabalho.

[code=vb]
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Resposta As String

Resposta = MsgBox("Deseja Fechar o Arquivo", vbYesNo, "Atenção")

If Resposta = vbYes Then
ActiveWorkbook.Save
ActiveWorkbook.Close
End If

End Sub
[/code]


Marcelo, muito obrigado era isso mesmo o que eu queria.
Acho que não me expressei direito, é que em minha planilha trabalho com datas usando a fórmula "=Hoje()", como todo dia que entrava na planilha ela atualizava, eu atribui uma macro num botão para retirar a fórmula e manter a data. Essa mensagem seria um lembrete para que antes de salvar a planilha, tem que apertar o botão.

Abraços.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal