Índice:
- Para - Próximo
- Para cada - Próximo
- Do - Loop Until
- Fazer While - Loop
- Se - Então
- Se - Então - Fim Se
- If - Then - Else
- Se - Então - Else - End If
- Selecionar Caso
- Ir para
Vídeo: Excel VBA IF THEN Statement (with ELSEIF & Looping in cells) 2025
A seguir está uma lista das dez estruturas de controle de programação do Excel VBA mais usadas. Incluído é um exemplo simples de cada estrutura de controle e uma breve descrição de quando você usaria essa estrutura.
Para - Próximo
Útil para fazer o loop através de uma matriz.
ArraySum = 0 Para i = 1 a 10 ArraySum = ArraySum + MyArray (i) Próximo i
Para cada - Próximo
Útil para fazer um loop por uma coleção ou um intervalo de células.
SelectionSum = 0 Para cada célula Na seleção SelectionSum = SeleçãoSum + célula. Valor Próxima célula
Do - Loop Until
Loop até que uma condição seja atendida.
Row = 0 Do Row = Row + 1 Loop Until Cells (Row, 1). Valor = "MsgBox" Primeira célula vazia está na Linha "& Row
Fazer While - Loop
Loop enquanto uma condição for verdadeira.
Row = 1 Do While Cells (Row, 1)" Row = Row + 1 Loop MsgBox "Primeira célula vazia está na linha" & Row
Se - Então
Faça algo se uma condição for verdadeira. Escrito como uma única afirmação.
Se x = 1 Então y = 1
Se - Então - Fim Se
Fazer algo se uma condição for verdadeira. Pode usar múltiplas declarações.
Se x = 1 Então y = 1 z = 1 End If
If - Then - Else
Faça algo se uma condição for verdadeira; Caso contrário, faça outra coisa. Escrito como uma única afirmação.
Se x = 1 Então y = 1 Else y = 0
Se - Então - Else - End If
Faça algo se uma condição for verdadeira; Caso contrário, faça outra coisa. Pode usar múltiplas declarações.
Se x = 1 Então y = 1 Z = 1 Else y = 0 Z = 0 Fim Se
Selecionar Caso
Faça uma das várias coisas, dependendo de uma condição.
Selecione Caso x Caso 1 y = 1 Z = 1 Caso É> 1 y = 2 Z = 2 Caso Sim. Y = 0 Z = 0 Final Selecione
Ir para
Ir para uma declaração rotulada. Isso é usado principalmente para o tratamento de erros.
On Error GoTo Oops '[mais código vai aqui] Exit Sub Oops: MsgBox "Ocorreu um erro"
