Você conhece o MsgBox no VBA? Quem é usuário assíduo do Microsoft Excel já usou ou já ouviu falar sobre VBA. O VBA é uma linguagem de programação utilizada em alguns programas da Microsoft. Certamente é o VBA que permite a criação de atalhos e algumas automatizações no Excel.
O VBA possui muitas funções, dentre elas permite a construção de caixas de mensagem, ou seja, as MsgBox. Portanto a MsgBox é uma “notificação” que é exibida para o usuário para confirmar um comando ou reportar algum erro, por exemplo.
Você pode conferir como trabalhar com VBA clicando aqui.
Confira também: Como trabalhar com macros. Clique aqui e veja como.
Neste link sobre macros, tem o exemplo de uma msgbox que construí. No entanto neste exemplo só foi criado um único botão. O botão de OK.
Como usar VBA para construir Mensagens de texto
A questão que surge aqui é: Como fazer algo para o usuário interagir? Por exemplo, como construir um botão de SIM ou NÃO no msgbox? Portanto, algo que você coloque o usuário para tomar uma decisão.
Da mesma forma a MsgBox deverá oferecer opções ao usuário e em seguida ser fechada com um clique.
Quer saber como fazer? Então me acompanhe que é rápido e simples.
- Você abre a planilha em branco
- Então pressiona o atalho ALT + F11 e entra no VBE (Visual Basic Editor)
- Clica na barra de ferramentas e depois seleciona Módulo
- Portanto neste módulo será criado a MsgBox
- Você deve digitar o seguinte comando SUB TEST_MSGBOX (nome da subrotina) e em seguida pressiona a tecla ENTER
- Além disso o programa já irá incluir os parênteses e o END SUB
- Entre as duas linhas entra o nosso código.
MsgBox VBA – yesno
Primeiramente para trabalhar com a opção de SIM ou NÃO no MsgBox é importante inserir uma variável. O que é variável? É um “pedaço” de memória RAM que vamos utilizar para armazenar uma informação. Poderia armazenar em uma célula também mas o correto é utilizarmos a memória RAM.
Então eu vou dimensionar uma variável.
O nome da minha variável é msgresp (aqui você pode inserir qualquer nome). Eu escolhi este nome pois se refere à resposta do MsgBox.
Então você digita da seguinte forma:
- Dim msgResp As VbMsgBoxResult
- Ao digitar vbmsgboxresult o programa já reconhece e te mostra a sugestão
- Pressione a tecla TAB que ele AutoCompleta
Portanto, essa é a variável onde vamos armazenar as opções de resposta. Caso o usuário clique no botão SIM ou no botão NÃO.
Vamos ver como ela funciona.
Então essa variável msgresp é igual ao botão que for clicado na msgbox
- Abre parênteses, depois aspas e digita a sua mensagem
- Em seguida insere a vírgula e o comando vbyesno
- Fecha aspas e parênteses
- Por fim, F5 para atualizar e a mensagem já irá aparecer no documento
Não se assuste com a diferenciação de texto dentro do VBE no Excel. A acentuação aparece de uma forma diferente mas ao exibir a mensagem o texto aparece corretamente.
Personalizar MsgBox no VBA
Agora vamos configurar o que acontece enquanto algum botão é clicado. Como resultado usaremos o recurso do IF – THEN – ELSE – ELSEIF.
Veja também: If no VBA – Passo a passo
- Digite If msgresp = vbyes then
- msgbox (digite a mensagem desejada). Por exemplo, aqui eu escrevi o seguinte: Você optou pelo sim
- Digite Else msgbox (digite a mensagem desejada). Por exemplo, aqui eu escrevi: Você optou pelo não
- Digite End if
- Por fim, F5 para atualizar. Então você já consegue visualizar a mensagem só clicar em qualquer um dos botões.
Viram como é fácil configurar msgbox no excel. Dessa maneira você dá a opção de o usuário tomar uma decisão com base no msgbox, personalizando dando um brilho a mais nas suas planilhas.
Você também pode acompanhar o passo a passo neste vídeo que gravei sobre MsgBox.
Sem dúvida, o VBA é um recurso essencial para quem deseja se destacar no mercado de trabalho através do Microsoft Excel. Eu posso te ajudar a dominar esta ferramenta.
Se você ainda é iniciante não deixe de conhecer o Curso Excel Aprendiz. Este curso é ideal para transformar você em um profissional mais qualificado, acima de tudo.
Espero que tenham gostado. Então sigam o canal e não fique por fora do avanço de conhecimento sobre Microsoft Excel.