/ / Excel VBA StatusBar Propriedade

Propriedade VB StatusBar do Excel

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

Situação:

A macro vamos criar preenchimentos Range ("A1: E20") com números aleatórios.

Exemplo de propriedade de status do VBA do Excel

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

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

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

2. Adicione um loop duplo.

For i = 1 To 20
    For j = 1 To 5

    Next j
Next i

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.

Cells(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 = "Importing Data.. " & pctCompl & "% Completed"

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

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

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 folha:

Resultado da propriedade de status do VBA do Excel

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.

Leia também: