Contente
Aprender sobre a função "Input Box" (caixa de texto) no VBA para Excel é o primeiro passo para criar programas com essa ferramenta. A "Input Box" é uma introdução fácil à escrita manual de programas do VBA, pois toma apenas um argumento, mas realiza a função vital de receber a entrada do usuário. Considere aprender também sobre a função "MsgBox", pois o papel dela, que é mostrar mensagens aos usuários, é o complemento da "Input Box".
As caixas de diálogo permitem informar aos usuários o que acontece (Stockbyte/Stockbyte/Getty Images)
Propósito
A função "Input Box" solicita a entrada de dados a um usuário e a recebe. Por exemplo, uma "Input Box" pode solicitar que um usuário digite a idade de uma pessoa para armazená-la em uma tabela chamada "Lista de aniversários" em uma planilha do Excel.
Argumentos
Uma "Input Box" toma vários argumentos, mas apenas um deles é necessário: o texto que solicita ao usuário a entrada de dados. Entre os argumentos opcionais se encontram o título da caixa de diálogo e o argumento padrão. Você pode colocar a caixa em uma posição específica por meio dos argumentos "Xpos" e "Ypos".
Valor de retorno
A "InputBox" retorna uma cadeia de texto, o que normalmente significa que você deverá declarar uma variável para recebê-la. Essa declaração pode tomar uma de duas formas. A primeira não especifica um tipo de valor (por exemplo, você pode digitar "Dim valorRetorno" ou indicar o tipo de variável com uma declaração do tipo "Dim valorRetorno as String"). No geral, é recomendável usar um tipo mais específico para que o VBA possa capturar erros relacionados com o tipo, por exemplo, ao tentar colocar um número em uma variável "String".
Programa de exemplo
Tente um programa de exemplo que integre o "Input Box" com o Excel. Clique no botão "Visual Basic" na guia Desenvolvedor do Excel para abrir o ambiente de programação do VBA. Copie o seguinte código:
Public Sub getEmailAdr() Dim str_email As String Do While (InStr(str_email, "@") = 0) str_email = InputBox("Digite um endereço de e-mail válido.") Loop Range("A1") = str_email End Sub
Cole o código na janela e execute o programa pressionando "F5". Esse programa solicitará uma entrada ao usuário, realizará uma verificação simples nela e colocará o valor de retorno em uma célula se for válido. Caso contrário, o programa pedirá outro valor ao usuário.
Alternativas e vantagens
"Input Box" é uma das várias formas de se obter a entrada do usuário no Excel. Você pode usar também uma célula da planilha ou um controle "Textbox" para capturá-la. Como a "Input Box" aceita uma entrada de texto, não é a melhor opção para perguntas do tipo "Sim/Não". No entanto, uma vantagem da função é que você não precisa criar um formulário especial para usá-la, em contraste com outros controles do VBA. Um controle "List Box", por exemplo, precisa de um formulário de usuário que você deverá criar ou de uma planilha na qual o controle ocupará espaço. A "Input Box" não tomará espaço: aparecerá, receberá a entrada do usuário e desaparecerá, o que é muito discreto.