Impedir que um formulário do usuário feche quando o usuário clicar no botão x usando o VBA no Microsoft Excel

Anonim

Neste artigo, mostraremos como desabilitar o botão x no formulário do usuário usando o VBA.

Neste exemplo, criamos um formulário de usuário que pode ser ativado clicando no botão Executar na planilha.

Este formulário do usuário contém apenas um botão que é usado para fechar o formulário do usuário. O formulário do usuário pode ser fechado apenas clicando neste botão. Mesmo, pressionando a tecla de atalho Alt + F4 no teclado não será capaz de fechar este formulário do usuário.

Explicação lógica

Para desativar o botão x do formulário do usuário, usamos o evento query close do formulário do usuário. Este evento é disparado antes do fechamento do formulário do usuário.

Nesse caso, definimos a condição de que, se o modo de fechamento for controle de menu, não feche o formulário do usuário; em vez disso, exiba uma mensagem informativa na caixa de diálogo.

Siga abaixo para o código

 Option Explicit Sub running () UserForm1.Show End Sub 'Adicionar código abaixo no formulário do usuário Private Sub CommandButton1_Click ()' Fechar o formulário do usuário Unload Me End Sub Private Sub UserForm_QueryClose (Cancelar como inteiro, CloseMode como inteiro) 'Usando o evento Query Close do formulário do usuário' Comparando o valor constante da variável CloseMode 'Se for igual à constante inbuilt do menu de controle' Então, evite o fechamento do formulário do usuário e 'Exibir caixa de diálogo da mensagem de informações If CloseMode = vbFormControlMenu Then' Alterando o valor da variável de cancelamento para True 'Por padrão, é False Cancel = True MsgBox "Você não pode fechar a caixa de diálogo assim!" End If End Sub 

Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail