Método Application.InputBox (Excel)
Exibe uma caixa de diálogo de entrada do usuário. Retorna informações inseridas na caixa de diálogo.
Sintaxe
expression.InputBox (Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)
expressão Uma variável que representa um Aplicativo objeto.
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
Prompt | Obrigatório | Cadeia de caracteres | A mensagem a ser exibida na caixa de diálogo. Isso pode ser uma cadeia de caracteres, um número, uma data ou um valor Booleano (o Microsoft Excel impõe automaticamente o valor para uma Cadeia de Caracteres antes deste ser exibido). O comprimento máximo é de 255 caracteres, caso contrário, não há uma solicitação, e o método do aplicativo retorna imediatamente o Erro 2015. |
Title | Opcional | Variantes | Título da caixa de entrada. Se esse argumento for omitido, o título padrão será Entrada. |
Default | Opcional | Variant | Especifica um valor que será exibido na caixa de texto quando a caixa de diálogo for exibida inicialmente. Se este argumento for omitido, a caixa de texto é deixada vazia. Este valor pode ser um objeto Range. |
Left | Opcional | Variant | Especifica uma posição x para a caixa de diálogo em relação ao contato superior esquerdo da tela, em pontos. |
Top | Opcional | Variant | Especifica uma posição y para a caixa de diálogo em relação ao canto superior esquerdo da tela, em pontos. |
HelpFile | Opcional | Variant | O nome do arquivo de Ajuda para esta caixa de entrada. Se os argumentos HelpFile e HelpContextID estiverem presentes, um botão de Ajuda será exibido na caixa de diálogo. |
HelpContextID | Opcional | Variant | O número da ID de contexto do tópico da Ajuda em HelpFile. |
Type | Opcional | Variantes | Especifica o tipo de dados de retorno. Se esse argumento for omitido, a caixa de diálogo retorna texto. |
Valor de retorno
Variant
Comentários
A tabela a seguir lista os valores que podem ser passados no argumento Type. Eles podem ser um ou a soma de valores. Por exemplo, para uma caixa de entrada que possa aceitar tanto texto quanto números, defina Type como 1 + 2.
Valor | Descrição |
---|---|
0 | Uma fórmula |
1 | Um número |
2 | Texto (uma cadeia de caracteres) |
4 | Um valor lógico (True ou False) |
8 | Uma referência de célula, como um objeto Range |
16 | Um valor de erro, como #N/A |
64 | Uma matriz de valores |
Use InputBox para exibir uma caixa de diálogo simples, de modo que você possa inserir informações a serem usadas em uma macro. A caixa de diálogo tem um botão OK e um botão Cancelar. Se você selecionar o botão OK, InputBox retorna o valor inserido na caixa de diálogo. Se você selecionar o botão Cancel, InputBox retorna False.
Se o Type for 0, InputBox retorna a fórmula na forma de texto, por exemplo, =2*PI()/360
. Se houver alguma referência na fórmula, elas são retornadas como referências de estilo A1. (Use ConvertFormula para realizar conversões entre os estilos de referência.)
Se Type for 8, InputBox retorna um objeto Range. Você deve usar a instrução Set para atribuir o resultado a um objeto Range, como mostrado no exemplo a seguir.
Set myRange = Application.InputBox(prompt := "Sample", type := 8)
Se você não usar a instrução Set, a variável será definida para o valor no intervalo, em vez do próprio objeto Range.
Se você usar o método InputBox para solicitar uma fórmula ao usuário, deverá usar a propriedade FormulaLocal para atribuir a fórmula como um objeto Range. A fórmula de entrada estará no idioma do usuário.
O método InputBox difere da função InputBox já que ele permite a validação seletiva da entrada dos usuários e pode ser usado com os objetos do Excel, valores de erro e fórmulas. Observe que o Application.InputBox
chama o método InputBox; o InputBox
sem um qualificador de objeto chama a função InputBox.
Exemplo
Este exemplo solicita um número do usuário.
myNum = Application.InputBox("Enter a number")
Este exemplo solicita ao usuário que selecione uma célula no Sheet1. O exemplo usa o argumento Type para garantir que o valor de retorno seja uma referência de célula válida (um objeto Range).
Worksheets("Sheet1").Activate
Set myCell = Application.InputBox( _
prompt:="Select a cell", Type:=8)
Este exemplo usa um InputBox para o usuário selecionar um intervalo para passar para a função definida pelo usuário MyFunction, que multiplica três valores em um intervalo e retorna o resultado.
Sub Cbm_Value_Select()
'Set up the variables.
Dim rng As Range
'Use the InputBox dialog to set the range for MyFunction, with some simple error handling.
Set rng = Application.InputBox("Range:", Type:=8)
If rng.Cells.Count <> 3 Then
MsgBox "Length, width and height are needed -" & _
vbLf & "please select three cells!"
Exit Sub
End If
'Call MyFunction by value using the active cell.
ActiveCell.Value = MyFunction(rng)
End Sub
Function MyFunction(rng As Range) As Double
MyFunction = rng(1) * rng(2) * rng(3)
End Function
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.