VBA InputBox - Obter entrada de um usuário em uma macro - Exemplos de código VBA

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

o Caixa de entrada VBA nos permite solicitar que o usuário insira informações. As informações podem ser usadas em nosso Código VBA ou em uma planilha do Excel.

A caixa de entrada VBA com uma variável

Podemos declarar uma variável em nosso código VBA que então armazena as informações digitadas na caixa de entrada. Podemos então usar essa variável em nosso código.

Dependendo do tipo de informação que desejamos retornar da caixa de entrada, podemos declarar um tipo específico de variável para texto de retorno (uma string ou variável variante) ou para retornar um número (um inteiro, variável longa, dupla ou única).

A variável string com uma caixa de entrada

Aqui está como você pode criar um InputBox onde os dados são retornados em uma variável de string.

123 Dim strInput as StringstrInput = InputBox ("Este é meu InputBox", "MyInputTitle", "Digite seu texto de entrada AQUI")

Observe primeiro que declaramos uma variável. Esta variável será atribuída ao valor que o usuário inserir. Usamos o tipo de variável String para que a caixa de entrada aceitasse strings de texto (que incluem quaisquer caracteres alfanuméricos).

A variável numérica com uma caixa de entrada

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

12 Dim iInput As IntegeriInput = InputBox ("Digite um número", "Criar número da fatura", 1)

Primeiro, declaramos a variável numérica como uma variável inteira. Podemos então colocar um valor padrão de 1 na caixa de entrada.

Se inserirmos uma string em vez de um número e clicarmos em OK, obteremos um erro de incompatibilidade de tipo, pois uma variável de número não aceita uma string.

Obtenha a opinião de um usuário

Aqui está outro exemplo usando os recursos mais populares de um InputBox.

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

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

2. Verifica a entrada, caso contrário, sai do sub

3. Retorna a entrada em uma caixa de mensagem

12345678910111213 Public Sub MyInputBox ()Dim MyInput As StringMyInput = InputBox ("Este é meu InputBox", "MyInputTitle", "Digite seu texto de entrada AQUI")If MyInput = "Digite seu texto de entrada AQUI" Or MyInput = "" EntãoSair do SubFim seMsgBox "O texto de MyInputBox é" & MyInputEnd Sub

Retornando a entrada para uma planilha do Excel

Você pode retornar a entrada que você digita em uma caixa de entrada em uma célula específica em sua planilha do Excel.

1 Range ("P1") = InputBox ("Digite seu nome", "Digite o nome", "Digite o nome AQUI")

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

12345678910 Sub EnterNumber ()On Error Resume NextDim dblAmount As DoubledblAmount = InputBox ("Insira a quantia necessária", "Insira a quantia")If dblAmount 0 ThenIntervalo ("A1") = dblAmountOutroMsgBox "Você não digitou um número!"Fim seEnd Sub

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

Usando VBA InputBox no Access VBA

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

No entanto, se desejar retornar a entrada do usuário ao banco de dados, você precisará usar o objeto Recordset em vez do objeto Range, conforme usado no Excel.

1234567891011121314 Sub EnterInvoiceNumber ()Dim dbs como banco de dadosDim rst As RecordsetDefinir dbs = CurrentDbDefina rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)Com o primeiro.Adicionar novo! InvNo = InputBox ("Digite o número da fatura", "GERAÇÃO DO NÚMERO DA FATURA", 1).AtualizarTerminar comprimeiro.FecharDefinir rst = NadaDefinir dbs = NothingEnd Sub

wave wave wave wave wave