Caixa de entrada VBA do Excel

Embora na maioria das vezes você use os dados que já estão com você, às vezes você se depara com uma situação em que deseja que o usuário insira dados como Nome, Idade, etc. tipo de informações pessoais. Às vezes, esses tipos de informações são necessárias quando estamos realizando uma pesquisa e precisamos revisar a opinião imparcial das pessoas.

Usando o InputBox do Excel VBA, podemos obter os dados de entrada do usuário. Como o nome sugere, o InputBox funciona como uma caixa pop-up que solicita que o usuário alimente certas informações.

Sintaxe para VBA InputBox

A seguir está a sintaxe do VBA InputBox:

Onde,

  • Prompt - Mensagem exibida ao usuário. Este é o único argumento necessário; os demais argumentos restantes são opcionais.
  • Título - é o cabeçalho que aparece na janela de diálogo após a execução bem-sucedida da instrução InputBox. Se não for fornecido, por padrão, o sistema imprime 'Microsoft Excel' como um título.
  • Padrão - é o valor padrão que aparece na caixa de diálogo. Também podemos mantê-lo nulo. Nenhum valor padrão definido para este argumento.
  • XPos - posiciona a coordenada de uma caixa de diálogo no eixo X.
  • YPos - Posiciona a coordenada de uma caixa de diálogo no eixo Y.
  • HelpFile - local do arquivo de ajuda que deve ser usado. Esse argumento se torna obrigatório para definir quando o argumento 'Contexto' é passado.
  • Contexto - Representa a Ajuda ContextId do HelpFile usado. Obrigatório para usar quando o argumento 'HelpFile' for passado.
  • Fora de todos esses argumentos, apenas os três primeiros são suficientes para criar com êxito um InputBox.

Criando InputBox no Excel VBA

Abaixo estão as diferentes etapas para criar InputBox no Excel usando o código VBA.

Você pode fazer o download deste modelo VBA InputBox Excel aqui - Modelo VBA InputBox Excel
  • Abra o VBE (Editor do Visual Basic pressionando Alt + F11 simultaneamente em um arquivo do Excel e clique em Inserir e adicione um novo módulo no VBE.

  • Crie uma macro neste módulo chamado 'Módulo1'. Atribua um nome à macro.

  • Digite o comando InputBox no editor.

Dê as seguintes entradas para a instrução InputBox:

  • Prompt: "Posso saber seu nome completo?"
  • Título: "Informações pessoais"
  • Padrão: “Comece a digitar aqui

Código:

 Sub InputBoxEX () InputBox "Posso saber seu nome?", "Informações pessoais", "Comece a digitar aqui" End Sub 

  • Pressione F5 ou o botão executar para executar este código.

Como armazenar a saída do InputBox para células?

Você criou o InputBox para obter a entrada do usuário. No entanto, onde a saída será armazenada? Não mencionamos nenhum local onde a saída possa ser armazenada.

Vamos armazenar a saída que obtemos do InputBox para excel células seguindo as etapas abaixo no VBA:

  • Declare uma nova variável 'Nome' com o tipo como 'Variante'. Esse tipo de variável pode assumir qualquer valor (numérico / string / lógico etc.).

Código:

 Sub InputBoxEX () Nome Dim como Variant End Sub 

  • Use InputBox para atribuir valor a essa variável chamada 'Nome'.

Código:

 Sub InputBoxEX () Nome Dim como Nome da Variante = InputBox ("Posso saber seu nome?", "Informações pessoais", "Comece a digitar aqui") End Sub 

Se você pode ter notado os parênteses após a instrução InputBox, eles são necessários porque estamos usando essa instrução para uma variável 'Nome'. Assim que se tornar um valor a ser dado para uma variável, ela deverá ser mencionada em um formato apropriado entre parênteses.

  • Agora, qualquer que seja o valor digitado pelo usuário na caixa de diálogo, queremos que isso seja visto na célula A1 da planilha do Excel. Coloque a seguinte instrução para o mesmo em VBE: Range ("A1"). Value = Name.

Código:

 Sub InputBoxEX () Nome Dim como Variant Name = InputBox ("Posso saber seu nome?", "Informações pessoais", "Comece a digitar aqui") Intervalo ("A1"). Valor = Nome Fim Sub 

É isso, agora vamos executar esse código e ver como ele funciona.

  • Clique no botão Executar ou pressione F5 para executar este código, você verá a seguinte caixa de diálogo. Escreva seu nome na caixa de diálogo exibida com o nome “Informações pessoais” e pressione OK para ver onde a saída é impressa.

  • Assim que você inserir o valor e clicar em OK, poderá ver o valor inserido na célula A1. Veja a imagem abaixo.

Qualquer valor pode ser armazenado usando o InputBox se a variável estiver definida corretamente. Nesse caso, você definiu a variável 'Nome' como 'Variante'. O tipo de dado variante pode assumir qualquer valor de dados, como eu disse anteriormente.

Veja o exemplo abaixo:

Estou dando um número como argumento para a caixa de diálogo quando aparecer. Veja abaixo:

Clique em OK, veja a saída abaixo:

O valor na célula A1 é alterado para 2019.

Agora vamos mudar o tipo de variável para Data.

Código:

 Sub InputBoxEX () Nome Dim como Data Nome = InputBox ("Posso saber seu nome?", "Informações pessoais", "Comece a digitar aqui") Intervalo ("A1"). Valor = Nome Fim Sub 

Execute o código e tente inserir o valor diferente da data. Vou inserir meu nome e clicar em OK.

  • Depois de clicar em OK, uma mensagem de erro em tempo de execução informando 'Tipo incompatível'.

Isso ocorreu porque o tipo de nome da variável é Date now e eu forneci um argumento de entrada diferente do valor da data (um nome de string). Devido ao qual esse código não é executado e gera um erro.

Validação de entrada do usuário

E se eu lhe disser que a entrada do usuário pode ser restrita? Sim, é verdade! Você pode restringir a entrada do usuário a caracteres, números ou lógicos etc.

Para restringir a entrada do usuário, você pode usar o Application.InputBox.

A sintaxe para Application.InputBox é a seguinte:

Onde,

Prompt - Mensagem exibida para o usuário.

Título - Título da caixa de diálogo.

Padrão - valor padrão que aparece na área de digitação na caixa de diálogo.

Tipo - O tipo de entrada.

Esses são os únicos argumentos importantes suficientes para executar esta declaração.

Vamos começar com o exemplo.

  • Declare um nome de variável como Variante.

Código:

 Sub InputBoxEX () Nome Dim como Variant End Sub 

Atribua Application.InputBox à variável chamada Name com os mesmos argumentos que você usou InputBox. Prompt, Título e Padrão. Veja o código abaixo:

Código:

 Sub InputBoxEX () Nome Dim como Nome da Variante = Application.InputBox ("Posso saber seu nome?", "Informações pessoais", "Comece a digitar aqui") End Sub 

Agora, coloque vírgula 5 vezes para ignorar o Left, Top, HelpFile e HelpContextID. Após 5 vírgulas, você pode especificar o tipo de entrada.

Código:

 Sub InputBoxEX () Nome Dim como Nome da Variante = Application.InputBox ("Posso saber seu nome?", "Informações pessoais", "Comece a digitar aqui",,,,, End Sub 

O tipo da sequência de entrada possui validações abaixo mencionadas:

  • Vamos escolher 1 como um tipo em nossa declaração. Isso significa que apenas números / valores numéricos são aceitáveis ​​na caixa de diálogo exibida.

Código:

 Sub InputBoxEX () Nome Dim como Nome da Variante = Application.InputBox ("Posso saber seu nome?", "Informações pessoais", "Comece a digitar aqui",,,,, 1) End Sub 

  • Execute o código manualmente ou usando a tecla F5 e forneça o nome como uma entrada na área de digitação, como mostrado abaixo. Em seguida, clique em OK e veja a saída.

Diz, o número não é válido. Isso parece lógico, porque definimos o tipo de entrada variável como o número e fornecemos o texto como uma entrada que não é aceitável pelo sistema.

Dessa forma, você pode restringir o usuário a inserir apenas os valores que deseja ver através do InputBox.

Coisas para lembrar

  • O InputBox aceita até 255 argumentos e pode exibir apenas 254. Portanto, tenha cuidado com o tamanho máximo que um usuário pode inserir.
  • O método de aplicação pode ser usado para definir o tipo de dados de entrada. No entanto, se não for usado, você precisará ser mais específico sobre o tipo de dados de entrada.
  • Recomenda-se a escolha de um tipo de dado variante, pois ele pode conter Numeric / Text / Logical etc. B = Valores.

Artigos recomendados

Este foi um guia para o VBA InputBox. Aqui discutimos como criar InputBox no Excel usando o código VBA, juntamente com exemplos práticos e modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Como usar a função FIND no Excel
  2. Criando função VBA no Excel
  3. Guia de intervalo no Excel
  4. Como usar a função VBA VLOOKUP?

Categoria: