Hoje recebi um pedido por e-mail que pedia para ensinar a remover o "x" de fechar um formulário. Por mais estranho que pareça, o recurso existe e você vai aprender agora.
Veja como remover o "salvar como" das suas planilhas
Com esse código o usuário não vai poder fechar uma janela de preenchimento obrigatório, por exemplo. Muito útil para a criação de cadastros.
Sem mais delongas, vamos ao código e à aula. No exemplo vou usar um UserForm muito simples, na verdade vazio. Mas é apenas para exemplos. Se funciona com um modelo vazio, funciona com qualquer modelo, certo?
O código é o mesmo, mas teremos 2 modos de apresentar o bloqueio ao usuário: No primeiro exibiremos uma caixa de diálogo sempre que ele clicar no X onde você poderá inserir uma mensagem, como "É obrigatório o preenchimento dos dados", por exemplo. No segundo modo nada acontece ao clicar no X.
As linhas de comando são:
Private Sub UserForm_QueryClose _
(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
' MsgBox "Preencha os dados e clique em OK", vbCritical, "AVISO"
Cancel = True
End If
End Sub
Para inseri-lo no local correto você deve clicar com o botão direito no nome do seu UserForm, clicar em "Exibir código" e colá-lo lá.
Veja que na iamgem acima eu coloquei a aspas simples antes da linha de mensagem. Este processo desabilita a linha, ou seja, é o segundo caso que falamos há pouco, quando o usuário poderá dar cliques infinitos e nada irá ocorrer. E aqui você aprende tudo sobre as caixas de texto e mensagens do VBA.
Confira abaixo os 2 casos exemplificados em GIFs:
Um último detalhe: Cuidado para não testar o form sem estar com o botão que irá fechar o mesmo habilitado ou estar com o modo de edição de VBA aberto. Do contrário você não conseguirá fechar a janela e vai ter de fechar o Excel de maneira forçada, perdendo todas as alterações não salvas.
😕 Poxa, o que podemos melhorar?
😃 Boa, seu feedback foi enviado!
✋ Você já nos enviou um feedback para este texto.