Índice:
Vídeo: [VBA] - Tutorial Função Inputbox 2025
A função VBA InputBox é útil para obter uma única informação digitada pelo usuário no Exeter 2016. Essa informação pode ser um valor, uma string de texto ou mesmo um intervalo endereço. Esta é uma boa alternativa para o desenvolvimento de um UserForm quando você precisa obter apenas um valor.
Sintaxe InputBox
Aqui está uma versão simplificada da sintaxe da função InputBox:
InputBox (prompt [title] [padrão])
A função InputBox aceita os argumentos listados aqui.
Argumento | O que afeta |
---|---|
Aviso | O texto exibido na caixa de entrada |
Título | O texto exibido na barra de título da caixa de entrada
(opcional |
Padrão | O valor padrão para a entrada do usuário (opcional) |
Um exemplo de InputBox
Aqui está uma declaração que mostra como você pode usar a função InputBox:
TheName = InputBox ("Qual o seu nome?", "Saudações")
Quando você executa esta declaração VBA, o Excel exibe esta caixa de diálogo. Observe que este exemplo usa apenas os dois primeiros argumentos e não fornece um valor padrão. Quando o usuário insere um valor e clica em OK, o código atribui o valor à variável TheName.
O exemplo a seguir usa o terceiro argumento e fornece um valor padrão. O valor padrão é o nome de usuário armazenado pelo Excel (propriedade UserName do objeto da aplicação).
Sub GetName () Dim TheName As String TheName = InputBox ("Qual é o seu nome?", _ "Saudações", Aplicação. Nome do usuário) End Sub
O InputBox sempre exibe um botão Cancelar. Se o usuário clicar em Cancelar, a função InputBox retornará uma string vazia.
A função InputBox do VBA sempre retorna uma string, então, se você precisa obter um valor, seu código precisa fazer uma verificação adicional. O exemplo a seguir usa a função InputBox para obter um número. Ele usa a função IsNumeric para verificar se a string é um número. Se a string contiver um número, tudo está bem. Se a entrada do usuário não pode ser interpretada como um número, o código exibirá uma caixa de mensagem.
Sub AddSheets () Dim Prompt As String Dim Caption como String Dim DefValue Como Long Dim NumSheets As String Prompt = "Quantas folhas você deseja adicionar? "Legenda =" Diga-me … "DefValue = 1 NumSheets = InputBox (Prompt, Legenda, DefValue) Se NumSheets =" "Então Sair Sub & apos; Cancelado se IsNumeric (NumSheets), então, se NumSheets> 0 Then Sheets. Adicionar contagem: = NumSheets Else MsgBox "Número inválido" End If End Sub
Verifique a caixa de diálogo que esta rotina produz.
Outro tipo de InputBox
As informações apresentadas aqui se aplicam à função InputBox do VBA. A Microsoft parece amar a confusão, então você também tem acesso ao método InputBox , que é um método do objeto Aplicativo.
Uma grande vantagem de usar o método Application InputBox é que seu código pode solicitar uma seleção de intervalo. O usuário pode então selecionar o intervalo na planilha destacando as células. Aqui está um exemplo rápido que leva o usuário a selecionar um intervalo:
Sub GetRange () Dim Rng como Range On Error Resume Next Set Rng = Application. InputBox _ (prompt: = "Especificar um intervalo:", Tipo: = 8) Se Rng não for nada, então Sair Sub MsgBox "Você selecionou o intervalo" & Rng. Endereço End Sub
É assim que parece.
Neste exemplo simples, o código informa ao usuário o endereço do intervalo que foi selecionado. Na vida real, seu código realmente faria algo útil com o intervalo selecionado. Uma coisa boa sobre este exemplo é que o Excel cuida do tratamento de erros. Se você inserir algo que não é um intervalo, o Excel informa sobre isso e permite que você tente novamente.
A Aplicação. O método InputBox é semelhante à função InputBox do VBA, mas também possui algumas diferenças. Verifique o sistema de ajuda para obter detalhes completos.
