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.

308 Parte IV: Como se Comunicar com Seus Usuários

.Width – 10)

End With

‘ A declaração DoEvents atualiza o formulário

DoEvents

End Sub

Como este exemplo funciona

Quando o procedimento EnterRandomNumbers é executado, ele carrega

uma cópia do UserForm1 no módulo variável chamado ProgressIndicator.

Depois, ele configura a largura do rótulo LabelProgress para 0 e exibe o

UserForm na posição Modeless (de modo que o código continuará a rodar).

O procedimento EnterRandomNumber verifica a planilha ativa. Se ela

não for uma planilha, o UserForm (ProgressIndicator) é fechado, e o

procedimento termina sem ação. Se a planilha ativa é uma planilha, o

procedimento faz o seguinte:

1. Apaga todas as células na planilha ativa.

2. Faz loops através das linhas e colunas (especificadas pelas

variáveis RowMax e ColMax) e insere um número aleatório.

3. Aumenta a variável Counter e calcula a porcentagem completa (que é

armazenada na variável PctDone).

4. Chama o procedimento UpdateProgress, o qual exibe a porcentagem

completa, mudando a largura da etiqueta LabelProgress e

atualizando a legenda do controle de quadro.

5. Por fim, o UserForm é fechado.

Claro que usar um indicador de progresso fará a sua macro rodar um

pouco mais lentamente, pois o código está fazendo trabalho adicional,

atualizando o UserForm. Se a velocidade for absolutamente crítica,

pense duas vezes em usar um indicador de progresso.

Se você adaptar esta técnica para o seu próprio uso, precisa descobrir

como determinar o progresso da macro, que varia dependendo de sua

macro. Depois, chame o procedimento UpdateProgress a intervalos

regulares enquanto a sua macro estiver executando.

Este exemplo está disponível no site deste livro.

Criação de uma caixa de diálogo Multi-página

Caixas de diálogo em múltiplas páginas são úteis, pois elas permitem que

você apresente informações em pequenas e organizadas porções. A caixa

de diálogo Formatar Células do Excel (que é exibida quando você clica

com o botão direito em uma célula e escolhe Formatar Células) é um bom

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

Saved successfully!

Ooh no, something went wrong!