Hoje vamos mostrar no VBA como podemos utilizar o MsgBox (caixa de mensagem) não apenas para exibir uma mensagem, mas para confirmar um comando. Além disso, também vamos ver como podemos inserir dados em nossa planilha via VBA.
Começando pelo MsgBox, vamos criar um botão e, utilizando VBA, vamos limpar todo o conteúdo de uma planilha. Primeiramente, adicione um botão de comando como mostrado na figura abaixo:
Na janela que se abriu, digite o nome da macro como “limpar”:
Sua planilha deve ter ficado assim, com o botão inserido.
Agora, abra a janela de edição de código com o comando ALT + F11, como abaixo:
Agora, insira o seguinte código:
Sub limpar()
Dim resposta As Integer
resposta = MsgBox(“Você tem certeza que deseja apagar os dados?”, vbYesNo + vbQuestion, “Limpar Planilha”)
If answer = vbYes Then
Cells.ClearContents
Else
‘nao faca nada
End If
End Sub
Observe que nossa função do VBA recebe o mesmo nome que demos à macro quando criamos o botão. No comando MsgBox, o parâmetro vbYesNo + vbQuestion faz com que a caixa de mensagem venha com as opções sim ou não.
Agora, volte ao botão, clique com o botão direito e depois em “Atribuir macro…”
Escolha nossa Plan1.limpar e depois clique em “Ok”
Pronto. Agora, clique no “Botão 1” para executar nosso código do VBA. Note que o último parâmetro que passamos na função do MsgBox “Limpar Planilha” é o nome da nossa caixa de mensagem.
Agora, vamos repetir o procedimento de criação de um botão, mas agora para criar um novo código em VBA para inserir algum valor em uma célula do Excel. Nosso código será o seguinte:
Sub inserir()
Dim entrada As Variant
entrada = InputBox(“Insira algum valor”)
Range(“A1”).Value = entrada
End Sub
Temos nossa variável “entrada” recebendo o resultado do “InputBox”. Na sequência, inserimos este valor na célula A1, com a função Range(“A1”).Value
Veja que, quando inserimos a macro no botão, devemos escolher a “inserir” que criamos a pouco.
Agora, ao clicar em nosso botão, aparecerá a seguinte janela:
Ao clicar em Ok, o texto digitado no campo (neste exemplo “Olá!”) será inserido na célula A1.