Função VBA InputBox - Como criar InputBox e armazenar valores?

Excel VBA InputBox

VBA InputBox é uma função embutida usada para obter um valor do usuário, esta função tem dois argumentos principais em que um é o título para a caixa de entrada e o outro é a pergunta para a caixa de entrada, a função de caixa de entrada pode armazenar apenas os tipos de dados de entrada qual variável pode conter.

Freqüentemente, no excel, usamos os dados que já estão na planilha do excel. Às vezes, também precisamos de algum tipo de entrada de dados dos usuários. Especialmente no VBA, a entrada do usuário é frequentemente necessária.

Usando a InputBox, podemos obter os dados do usuário e usá-los para nosso propósito. Um InputBox solicitará que o usuário insira o valor exibindo o InputBox.

Sintaxe

  • Prompt: isso nada mais é do que uma mensagem para o usuário por meio de uma caixa de entrada.
  • Título: Qual é o título da caixa de entrada?
  • Padrão: Qual é o valor padrão da caixa de entrada? Este valor aparece na área de digitação da caixa de entrada.

Esses três parâmetros são bons o suficiente no Excel. Ignore os outros 4 parâmetros opcionais. Para entender essa sintaxe, observe a captura de tela abaixo.

Como criar um InputBox no VBA?

Ok, vamos direto ao ponto prático. Siga as etapas abaixo para criar sua primeira caixa de entrada.

Etapa 1: Vá para o VBE (Editor do Visual Basic) e insira um novo módulo.

Etapa 2: Clique duas vezes no módulo inserido e crie um nome de macro.

Etapa 3: Comece a digitar a palavra “InputBox”, você verá as opções relacionadas.

Etapa 4: Selecione a caixa de entrada e dê espaço, e você verá a sintaxe da caixa de entrada.

Etapa 5: forneça o prompt “Digite seu nome”.

Etapa 6: digite o título da caixa de entrada como “Informações pessoais”.

Etapa 7: digite o valor padrão como “Digite aqui”.

Etapa 8: Terminamos. Execute este código e veja sua primeira caixa de entrada.

Armazene o valor de InputBox nas células

Agora vamos passar pelo processo de armazenamento de valores nas células. Siga as etapas abaixo.

Etapa 1: declarando a variável como variante.

Código:

Sub InputBox_Example () Dim i As Variant End Sub

Etapa 2: para esta variável, atribua o valor por meio da caixa de entrada.

Código:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Digite seu nome", "Informações pessoais", "Digite aqui") End Sub

Nota: Assim que a caixa de entrada fica à direita do sinal de igual, precisamos inserir os argumentos ou sintaxe entre colchetes, como nossas fórmulas regulares.

Passo 3: Agora, qualquer que seja o valor digitado na caixa de entrada, precisamos armazená-lo na célula A1. Então, para isso, escreva o código como Faixa (“A1”). Valor = i

Código:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Insira seu nome", "Informações pessoais", "Digite aqui") Intervalo ("A1"). Value = i End Sub

Ok, terminamos. Vamos executar este código agora pressionando a tecla F5, ou você também pode executar o código manualmente, conforme mostrado na imagem abaixo.

Assim que você executar este código, veremos a caixa de entrada.

Digite o nome e clique em OK.

Assim que digitar o nome e clicar em OK, você verá o valor da caixa de entrada na célula A1.

Nota: Podemos armazenar qualquer valor da caixa de entrada se a variável for definida corretamente. No exemplo acima, defini a variável como Variant, que pode conter todos os tipos de dados.

Por exemplo, agora mudei o tipo de variável para Data.

Agora execute o código e digite algo diferente da data.

Clique em ok e veja qual é a resposta.

We got the error value as Type mismatch. Since we have declared the variable data type as DATE, we cannot store anything other than DATE with an inputbox.

Now enter the date and see what happens.

As soon as you type the date and then click on OK and see what the response is.

Since we have entered the correct value, we got the result in the cell.

Validation of Input from User

You know what we can actually allow users to enter only specific value i.e., allow the user to enter only text, only number, only logical values, etc.

To perform this task, we need to use the method Application.InputBox.

Let’s look at the syntax of the Application.InputBox.

  • Prompt: This is nothing but the message to the user through an input box.
  • Title: What is the title of the input box?
  • Default: What is the default value of the input box? This value appears in the typing area of the input box.
  • Left: What should be the x position of the input box in the current window?
  • Top: What should be the y position of the inputbox in the current window?

To start this, inputbox declare variable and assign the value to a variable.

Now to assign value to start the word Application.

After the word Application, put a dot (.) and type Inputbox.

Select the input box and open the bracket.

As usual, enter Prompt, Title, and Default Value.

Now ignore left, top, help file, help context ID by typing 5 commas (,).

Here Type means what should be the input string. Below are the validations available.

Portanto, selecione o seu tipo. Selecionei 1 como parâmetro, ou seja, apenas números.

Agora execute o código e o tipo de valor de texto.

Clique em OK e veja o que acontece.

Diz que o número não é válido. Portanto, podemos inserir apenas números nesta caixa de entrada.

Coisas para lembrar

  • Precisamos de uma variável para armazenar o valor fornecido pela caixa de entrada.
  • Se você estiver usando InputBox sem o método Application, deverá ser perfeito quanto ao tipo de dados variável.
  • Use o tipo de dados Variant, que pode conter qualquer tipo de tipo de dados e armazenamento.

Artigos interessantes...