Tomás, boa tarde.
Primeiramenta, parabéns pelo excelente trabalho!
Preciso de uma ajuda, quero que uma MsgBox seja executada quando a planilha for salva. A msgbox já esta pronta, só não sei o código que devo usar para liga-la ao “salvar” do excel.
Obrigado!
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
VBA – Emitindo mensagens personalizadas com MsgBox
VBA – Emitindo mensagens personalizadas com MsgBox
Enviado por Guilherme:
Re: VBA – Emitindo mensagens personalizadas com MsgBox
Guilherme,
Existe o evento BeforeSave do objeto Workbook, porém, ele é disparado antes de salvar a planilha. Ou seja, a MsgBox será mostrada, mas se houver um erro na gravação, a mensagem será inválida. Por exemplo, abra o VBA, clique duas vezes em EstaPasta_de_trabalho e cole o código abaixo:
Experimente clicar em salvar. Agora, cliquem em Salvar como. Perceba que a caixa de mensagem aparece mesmo que você cancele a ação, o que pode não ser bom. Porém, há uma forma de manipular o evento para provocar o comportamento esperado. Use o código abaixo:
Veja se funciona. O problema é que nesse contexto, o Salvar como deixa de funcionar. Se não for problema, é uma opção.
Abraços
Existe o evento BeforeSave do objeto Workbook, porém, ele é disparado antes de salvar a planilha. Ou seja, a MsgBox será mostrada, mas se houver um erro na gravação, a mensagem será inválida. Por exemplo, abra o VBA, clique duas vezes em EstaPasta_de_trabalho e cole o código abaixo:
Código: Selecionar todos
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "Salvou!"
End Sub
Código: Selecionar todos
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.EnableEvents = False
Me.Save
Application.EnableEvents = True
MsgBox "Salvou!"
' cancela o Save padrão
Cancel = True
End Sub
Abraços