OS MELHORES VÍDEOS

 

Pesquisar

domingo, 17 de novembro de 2013

Top 10 Estruturas de Controle no Excel VBA.

Abaixo segua a lista com exemplos, extraída do post original. Serve como revisão e até um guia de referência:







For – Next

Útil para passar por todos os itens de um Array.
ArraySum = 0
For i = 1 To 10
    ArraySum = ArraySum + MyArray(i)
Next i

For Each – Next

Perfeito para coleções, como um Range de células.
SelectionSum = 0
For Each cell In Selection
    SelectionSum = SelectionSum + cell.Value
Next cell

Do – Loop Until

Para iterar até atingir uma condição. Ótimo para casos de chegar até um limite ainda não conhecido.
Row = 0
Do
    Row = Row + 1
Loop Until Cells(Row, 1).Value = ""
MsgBox "First empty cell is in Row " & Row

Do While – Loop

Semelhando ao anterior, porém, aqui você executa a iteração enquanto uma condição se mantém.
Row = 1
Do While Cells(Row, 1) <> ""
    Row = Row + 1
Loop
MsgBox "First empty cell is in Row " & Row

If – Then

O básico, o testes dos testes! Executar uma ação baseado em uma condição numa simples linha.
If x = 1 Then y = 1

If – Then – End If

Complementando o anterior, quando a ação a ser tomada é mais complexa, é preciso deixá-la um pouco mais completa.
If x = 1 Then
    y = 1
    z = 1
End If

If – Then – Else

E continuando, se o de cima é a parte, eis a contra parte. Se o teste der certo, faça isso. OU, faça aquilo, lembrando sempre do OU, que podem ser vários!
If x = 1 Then y = 1 Else y = 0

If – Then – Else – End If

Do something if a condition is true; otherwise, do something else. Can use multiple statements.
If x = 1 Then
    y = 1
    Z = 1
Else
    y = 0
    Z = 0
End If

Select Case

Quandos as opções são conhecidas (exemplo, dias da semana), torna a leitura mais legível para o programador.
Select Case x
    Case 1
        y = 1
        Z = 1
    Case Is > 1
        y = 2
        Z = 2
    Case Else
        y = 0
        Z = 0
End Select

Goto

Esse dá medo, mas é útil. A instrução Goto te leva a um bloco de código definido. É mais utilizado para tratamento de erros, como no exemplo.
On Error GoTo Oops
'[um montão de código aqui]
Exit Sub
Oops:
MsgBox "Aconteceu um erro!!".
Eis o resumão. Deixe o seu comentário.
abraços

Nenhum comentário:

Postar um comentário