24.08.2020 Views

Programando o Excel ® Vba Para Leigos - 2ª Ed 2013 NoDRM (1)

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 10: Controlando o Fluxo de Programa e Tomando Decisões

151

DICA

Se você tiver pensado sobre a razão dos recuos no código que apresento

aqui, a listagem anterior serve como um bom exemplo. Na verdade,

os recuos ajudam a esclarecer os níveis de aninhamento (pelo menos,

eu acho). Se você não acredita em mim, dê uma olhada no mesmo

procedimento, sem qualquer recuo:

Sub CheckCell()

Dim Msg As String

Select Case IsEmpty(ActiveCell)

Case True

Msg = “está vazia.”

Case Else

Select Case ActiveCell.HasFormula

Case True

Msg = “tem uma fórmula”

Case False

Select Case IsNumeric(ActiveCell)

Case True

Msg = “tem um número”

Case Else

Msg = “tem texto”

End Select

End Select

End Select

MsgBox “Célula “ & ActiveCell.Address & “ “ & Msg

End Sub

Bem incompreensível, não é?

Fazendo Seu Código Dar um Loop

O termo looping refere-se a repetir, várias vezes, um bloco de declarações

VBA. Nesta seção, explico sobre os vários tipos diferentes de loops.

Há dois tipos de loops: loops bons e loops ruins (os loops bons são

recompensados e os ruins são mandados para os seus quartos).

O código a seguir demonstra um loop ruim. O procedimento apenas

entra com números consecutivos em uma faixa. Ele inicia, solicitando

dois valores ao usuário um valor de partida e o número total de

células a preencher (pelo fato de InputBox retornar uma string, eu

converto as strings em inteiros, usando a função Cint). Essa loop usa

a declaração GoTo para controlar o fluxo. A variável CellCount controla

quantas células são preenchidas. Se esse valor for menor que o

número informado pelo usuário, o controle do programa faz um loop

de volta para DoAnother.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!