Declaração If...Then... (Visual Basic)
Executa condicionalmente um grupo de declarações, dependendo do valor de uma expressão.
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
-or-
If condition Then [ statements ] [ Else [ elsestatements ] ]
Partes
condition
Obrigatório.Expressão.Deve ser avaliada como True ou False, ou para um tipo de dados que é implicitamente conversível no Boolean.Then
Necessário num formulário de linha única, opcional no de linhas múltiplas.statements
Opcional.Uma ou mais declarações seguindo If...Then que são executadas se condition avalia em True.elseifcondition
Necessário se ElseIf está presente. Expressão.Deve ser avaliada como True ou False, ou para um tipo de dados que é implicitamente conversível no Boolean.elseifstatements
Opcional.Uma ou mais declarações seguindo ElseIf...Then que são executadas se elseifcondition avalia em True.elsestatements
Opcional.Uma ou mais declarações que são executadas se nenhuma expressão anterior condition ou elseifcondition avalia em True.End If
Termina o bloco If...Then...Else.
Comentários
Você pode usar o formulário de linha única para testes curtos, simples.Entretanto, o formulário de linhas múltiplas fornece mais estrutura e flexibilidade que o de linha única e é comumente mais fácil de se ler, manter e depurar.
Quando um If...Then...Else de linha múltipla é encontrado, condition é testada.Se condition for True, as declarações após Then são executadas.Se condition for False, cada declaração ElseIf é avaliada na ordem.When a True elseifcondition is found, the statements immediately following the associated Then are executed.Se nenhuma elseifcondition avalia em True, ou se não houver declarações ElseIf, as declarações seguindo Else são executadas.Depois de executar as declarações seguindo Then, ElseIf ou Else, execução continua com a declaração após End If.
Dica: |
---|
O Declaração Select...Case (Visual Basic) pode ser mais útil ao avaliar uma expressão única tem vários valores possíveis. |
No formulário de linha única, é possível ter várias declarações executadas como o resultado de uma decisão If...Then.Todas as declarações devem estar na mesma linha e separadas por dois-pontos.O exemplo a seguir demonstra isso.
If A > 10 Then A = A + 1 : B = B + A : C = C + B
No formulário de linhas múltiplas, a declaração If deve ser a única na primeira linha.As declarações ElseIf, Else e End If podem ser precedidas apenas de um rótulo de linha.O bloco de linhas múltiplas If...Then...Else deve terminar com uma declaração End If.
Para se determinar se uma declaração If introduz ou não um formulário delinhas múltiplas, examine o que segue a palavra-chave Then.Se nada aparece exceto um comentário após Then na mesma declaração, a declaração é tratada como uma declaração If de linha única.Se Then estiver ausente, deve ser no início de um If...Then...Else de linhas múltiplas.
As cláusulas ElseIf e Else são ambas opcionais.Você pode ter tantas cláusulas ElseIf quantas quiser num If...Then...Else de linhas múltiplas, mas nenhuma deve aparece após uma cláusula Else.Formulários de linhas múltiplas podem ser aninhadas uma dentro da outra.
Exemplo
O exemplo a seguir mostra tanto os formulários de linha única quanto os de linhas múltiplas da declaração If...Then...Else.
Dim number, digits As Integer
Dim myString As String
number = 53
If number < 10 Then
digits = 1
ElseIf number < 100 Then
digits = 2
Else
digits = 3
End If
If digits = 1 Then myString = "One" Else myString = "More than one"
No exemplo anterior, a ElseIf condição for avaliada como True, e digits é atribuído um valor de 2. Em seguida, a última demonstrativo atribui um valor de "mais de um"myString.