O Função MsgBox em Excel VBA pode retornar um resultado enquanto um simples MsgBox não pode.
Situação:
Coloque um botão de comando em sua planilha e adicione as seguintes linhas de código:
1. Primeiro, declaramos uma variável chamada resposta do tipo Inteiro.
Dim answer As Integer
2. Usamos a função MsgBox para inicializar a resposta variável com a entrada do usuário.
A função MsgBox, ao usar parênteses, possui três argumentos. A primeira parte é usada para a mensagem na caixa de mensagem. Use a segunda parte para especificar quais botões e ícones você deseja que apareçam na caixa de mensagem. A terceira parte é exibida na barra de título da caixa de mensagem.
answer = MsgBox ("Tem certeza de que deseja esvaziar a planilha?", vbYesNo + vbQuestion, "Esvaziar planilha")
Nota: Coloque o cursor em vbYesNo no Editor do Visual Basic e clique em F1 para ver quais outros botões e ícones você pode usar. Em vez das constantes vbYesNo e vbQuestion, você também pode usar os valores correspondentes 4 e 32.
3. Se o usuário clicar no botão Sim, o Excel VBA esvazia a planilha. Se o usuário clicar no botão Não, nada acontecerá. Adicione as seguintes linhas de código para conseguir isso.
Se a resposta = vb Sim, então
Cells.ClearContents
Outro
'fazer nada
Fim se
4. Clique no botão de comando na planilha.
5. Clique em Sim.
Resultado: