Como Desativar o Botão Fechar do UserForm no Excel VBA
Salve, salve eu sou o Diego e hoje eu te ensinarei a como desativar o botão fechar do UserForm no Excel VBA. Esse é um método bem simples de impedir que o usuário feche o UserForm pelo botão fechar. Lembrando que esse método também funciona caso o usuário clique com o botão direito do mouse sobre a barra de título e clique em fechar ou aperte as teclas de atalho ALT + F4.
Para esse nosso teste eu estarei utilizando o Excel 2013 versão 64bits.
Com o Excel aberto basta seguir o passo a passo mostrado abaixo:
1. Clique na aba Desenvolvedor (caso a aba Desenvolvedor esteja desabilitado clique aqui e veja o tutorial como habilita-la) em seguida clique no botão Visual Basic ou utilize as teclas de atalho do teclado ALT + F11.
2. Com o VBE (Visual Basic Editor) aberto iremos inserir um UserForm para isso basta você escolher uma das opções abaixo:
Na barra de ferramentas clique sobre o ícone Inserir UserForm (caso você não esteja vendo o ícone de inserir um UserForm basta clicar na seta ao lado do ícone) como mostra na imagem abaixo.
Dentro da janela Projeto – VBAProject clique com o botão direito do mouse e nas opções que aparecerem clique em Inserir > UserForm.
3. Com o nosso UserForm criado selecione na Caixa de ferramentas o CommandButton e adicione-o ao UserForm, com o CommandButton adicionado selecione-o e nas propriedades do botão renomeie o campo Caption para Fechar, após fazer isso de dois clique sobre o botão.
4. Dentro da sub Private Sub CommandButton1_Click() ... End Sub insira o seguinte código:
Private Sub CommandButton1_Click()
'Fecha o UserForm1
Unload Me
End Sub
5. Após inserir o código, selecione o Objeto UserForm, em seguida clique sobre o Procedimento Click e nas opções que aparecerem selecione QueryClose.
6. Selecione e apague a sub Private Sub UserForm_Click() ... End Sub pois não a utilizaremos.
7. Dentro da sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ... End Sub insira o seguinte código:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Condição que impede que o usuário feche o UserForm pelo botão Fechar [ x ]
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub
8. Na janela Projeto – VBAProject de dois cliques sobre EstaPasta_de_trabalho.
9. Na nova janela aberta certifique-se que o Objeto Workbook e o Procedimento Open estejam selecionados.
10. Dentro da sub Private Sub Workbook_Open () ... End Sub insira o seguinte código:
Private Sub Workbook_Open()
'Força a Maximização do Excel ao ser inicializado
Application.WindowState = xlMaximized
'Exibe o UserForm1
UserForm1.Show
End Sub
Dica: Caso você queira que o Excel ao ser aberto já inicialize em fullscreen (tela cheia) ao invés de inicializar maximizado, basta trocar o comando Application.WindowState=xlMaximmized por Application.DisplayFullScreen = True.
11. Agora basta salvar o seu projeto como tipo Pasta de Trabalho Habilitada para Macro do Excel.
12. Após salvar o seu projeto feche-o e abra-o novamente (caso as macros do Excel estejam desabilitadas basta clicar no botão Habilitar Conteúdo).
13. Pronto! O UserForm já iniciará com o botão fechar desativado.
Comentários
Postar um comentário