VBA InputBox – Obter Entrada de um Usuário

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on May 22, 2023

Este tutorial demonstrará como obter informações de um usuário com a caixa de entrada do VBA.

A caixa de entrada (InputBox) do VBA nos permite solicitar que o usuário insira informações. As informações podem então ser usadas em nosso código VBA ou em uma planilha do Excel.

A Caixa de Entrada do VBA com uma Variável

Podemos declarar uma variável em nosso código VBA que armazena as informações digitadas na caixa de entrada. Em seguida, podemos usar essa variável em nosso código.

Dependendo do tipo de informação que queremos que seja retornada da caixa de entrada, podemos declarar um tipo específico de variável para retornar texto (uma variável do tipo string ou variant) ou para retornar um número (uma variável do tipo integer, long, double ou single).

A Variável String com uma Caixa de Entrada

Veja como você pode criar uma InputBox em que os dados são retornados em uma variável String.

Dim strInput as String

strInput = InputBox("Esta é minha InputBox", "MeuTituloDeEntrada", "Entre com a informação AQUI")

modelo simples inputbox

Observe que primeiro declaramos uma variável. A essa variável será atribuído o valor que o usuário inserir. Usamos o tipo de variável String para que a caixa de entrada aceite cadeias de texto (o que inclui quaisquer caracteres alfanuméricos).

A Variável de Número com uma Caixa de Entrada

Se você declarar uma variável numérica, precisará inserir apenas um número na caixa de entrada.

Dim iInput As Integer
iInput = InputBox("Por favor, insira um número", "Criar Número de Nota Fiscal", 1)

Primeiro, declaramos a variável de número como uma variável de número inteiro. Em seguida, também podemos colocar um valor padrão de 1 na caixa de entrada.

inputbox numero inteiro

 

Se digitássemos uma string em vez de um número e clicássemos em OK, receberíamos um erro de incompatibilidade de tipo, pois uma variável numérica não aceita uma string.

erro tipos incompativeis

 

Obter Entrada de um Usuário

Aqui está outro exemplo que usa os recursos mais populares de uma InputBox.

modelo simples inputbox

O código a seguir faz três coisas:

1. Solicita uma entrada com uma InputBox e a atribui a uma variável

2. Verifica a entrada, caso contrário, sai da subseção

3. Retorna a entrada em uma caixa de mensagem

Public Sub MinhaInputBox()

Dim MyInput As String
MyInput = InputBox("Esta é minha InputBox", "MeuTituloDeEntrada", "Entre com a informação AQUI")


If MyInput = "Entre com a informação AQUI" Or MyInput = "" Then
  Exit Sub
End If

MsgBox "O texto da Minha InputBox é  " & MyInput

End Sub

Retorno da Entrada para uma Planilha do Excel

É possível retornar a entrada digitada em uma caixa de entrada para uma célula específica na planilha do Excel.

Range("P1") = InputBox("Por favor, digite seu nome", "Digitar Nome", "Digite o nome AQUI")

processo digitar nome

Também podemos retornar dados de entrada para uma planilha do Excel usando uma variável.

Sub DigitarNumero()
   On Error Resume Next
   Dim dblAmount As Double
   dblAmount = InputBox("Por favor, insira o valor necessário", "Inserir valor")
   If dblAmount <> 0 Then
      Range("A1") = dblAmount
   Else
      MsgBox "Você não inseriu um número!"
   End If
End Sub

No exemplo acima, precisamos digitar um número. Se digitarmos um número, a variável dblAmount colocará o número na planilha do Excel na célula A1. Entretanto, se não inserirmos um número, uma caixa de mensagem nos informará que não inserimos um número e nada será colocado na célula A1.

nao inseriu numero

Uso da InputBox VBA no Access VBA

A caixa de entrada do VBA funciona exatamente da mesma forma no Access e no Excel ao retornar a entrada do usuário na forma de uma caixa de mensagem.

Entretanto, se desejar retornar a entrada do usuário para o banco de dados, será necessário usar o objeto Recordset em vez do objeto Range usado no Excel.

Sub EntrarNumeroNotaFiscal()
   Dim dbs As Database
   Dim rst As Recordset
   Set dbs = CurrentDb
   Set rst = dbs.OpenRecordset("tblMatters", dbOpenDynaset)
   With rst
      .AddNew
      !InvNo = InputBox("Digite o número da fatura", "GERAÇÃO DE NÚMERO DE FATURA", 1)
      .Update
   End With
   rst.Close
   Set rst = Nothing
   Set dbs = Nothing
End Sub

 

geracao numero fatura

Codificação VBA facilitada

Pare de procurar códigos VBA on-line. Saiba mais sobre o AutoMacro – um construtor de código VBA que permite que os iniciantes codifiquem procedimentos do zero com conhecimento mínimo de codificação e com muitos recursos que economizam tempo para todos os usuários!

alt text

Saiba mais!

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA