Propriedade Excel VBA StatusBar - Macros fáceis do Excel

Índice

O Propriedade StatusBar do objeto Aplicativo em Excel VBA pode ser usado para indicar o progresso de uma macro longa. Dessa forma, você pode informar ao usuário que uma macro ainda está em execução.

Situação:

A macro que vamos criar preenche o intervalo ("A1: E20") com números aleatórios.

Adicione as seguintes linhas de código ao botão de comando:

1. Primeiro, declaramos três variáveis ​​do tipo Integer, chamadas i, j e pctCompl.

Dim i As Integer, j As Integer, pctCompl As Integer

2. Adicione um loop duplo.

Para i = 1 a 20
Para j = 1 a 5
Próximo j
Proximo eu

Adicione as seguintes linhas de código (em 3, 4 e 5) ao loop.

3. Use a função RandBetween para importar um número aleatório entre 20 e 100.

Células (i, j) .Value = WorksheetFunction.RandBetween (20, 100)

4. Inicialize a variável pctCompl. A segunda linha de código escreve o valor da variável pctCompl e algum texto descritivo na barra de status.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importando dados…" & pctCompl & "% concluído"

Exemplo: Para i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% foi concluído.

5. Usamos o método Wait do objeto Application para simular uma macro longa.

Application.Wait Now + TimeValue ("00:00:01")

6. Para restaurar o texto da barra de status padrão, defina a propriedade StatusBar como False (fora do loop).

Application.StatusBar = False

Resultado quando você clica no botão de comando na planilha:

Nota: Você pode interromper uma macro a qualquer momento pressionando Esc ou Ctrl + Break. Para uma abordagem mais visual, consulte nosso programa Indicador de Progresso.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave