Google+

VBA – MsgBox e InputBox

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:

 

Aplicações de VBA - MsgBox e InputBox 1

 

Na janela que se abriu, digite o nome da macro como “limpar”:

 

Aplicações de VBA - MsgBox e InputBox 2

 

Sua planilha deve ter ficado assim, com o botão inserido.

 

Aplicações de VBA - MsgBox e InputBox 3

 

Agora, abra a janela de edição de código com o comando ALT + F11, como abaixo:

 

Aplicações de VBA - MsgBox e InputBox 4

 

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…”

 

Aplicações de VBA - MsgBox e InputBox 5

 

Escolha nossa Plan1.limpar e depois clique em “Ok”

 

Aplicações de VBA - MsgBox e InputBox 6

 

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.

 

Aplicações de VBA - MsgBox e InputBox 7

 

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.

 

Aplicações de VBA - MsgBox e InputBox 8

Agora, ao clicar em nosso botão, aparecerá a seguinte janela:

 

Aplicações de VBA - MsgBox e InputBox 9

 

Ao clicar em Ok, o texto  digitado no campo (neste exemplo “Olá!”) será inserido na célula A1.

 

email
Updated: 24/09/2014 — 12:15

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Excel Prático © Todos os direitos reservados. 2014 - 2016