De pronto, adorei a iniciativa e por isso decidi replicar aqui. O site Dummies, aquele que publica a série for Dummies, no português traduzido “para Leigos”, publicou recentemente uma lista das estruturas de controle mais utilizadas no Excel VBA, familiar de todos aqui.
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. Pelo menos para mim foi muito bom!
O post original pode ser visto aqui:
http://www.dummies.com/how-to/content/top-ten-excel-vba-control-structures.html
O autor é John Walkenbach e o conteúdo é do livro Excel VBA Programming For Dummies, 3rd Edition:

Que também ter versão em português!
http://www.livrariasaraiva.com.br/produto/3419556/programando-o-excel-2007-vba-para-leigos
Bom proveito!