VBA InputBox – Obter Entrada de um Usuário
In this Article
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")
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.
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.
Obter Entrada de um Usuário
Aqui está outro exemplo que usa os recursos mais populares de uma 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")
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.
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
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!