Neste artigo você aprenderá como alterar o statusbar do Excel com VBA para incluir textos ou status do processamento.
A statusBar é a barra normalmente posicionada ao final de uma tela de um sistema, como no exemplo que temos do Excel.
Nela podemos ver algumas informações importantes no Excel, como o Modo de Visualização e o Zoom na planilha.
Mas digamos que você queira colocar o nome da Planilha, colocar a data ou status o processamento.
Como Ocultar ou Exibir a StatusBar no Excel com VBA
Para inserir o código para ocultar o StatusBar você deve abrir o VBE e inserir um módulo no VBA.
Nele adicione o seguinte código para desligar a statusBar.
Sub lsDesligarStatusBar()
Application.DisplayStatusBar = False
End Sub
E para ligar a StatusBar o código é o seguinte.
Sub lsLigarStatusBar()
Application.DisplayStatusBar = True
End Sub
Veja que o status é bastante simples, basta alterar a propriedade DisplayStatusBar do Application.
Mudando para False ela oculta e mudando para True ela reexibe.
Durante o código a descrição na statusBar pode ser trocada, para indicar como está o processamento para o cliente, pode ser a etapa, ou um percentual que indicaria uma situação.
Mudar a statusBar para Exibir um texto com VBA
A statusBar no Excel aceita também outros textos, você pode colocar um texto simples, ou textos formatados.
Para isso basta mudar a propriedade StatusBar passando um texto como pode ver abaixo.
Sub lsPlanilha()
Application.StatusBar = "Planilha de Gerenciamento de Projetos - Data: " & Format(Now(), "dd/mm/yyyy")
End Sub
Assim nós temos o texto sendo exibido na satusBar com o texto do nome do pedido e da data.
Como podemos ver acima, a statusBar foi alterada com o texto conforme passamos no VBA.
Podemos usar esta programação para incluir outros dados como por exemplo a etapa ou quando percentualmente já foi processado.
Situação do Processamento na StatusBar do Excel
Você pode incluir na statusbar a situação de processamento de um procedimento no VBA.
Veja um exemplo de código de como realizar o processamento no VBA.
No exemplo abaixo temos três processamentos, ao mudar o processamento é mudado o texto da barra Statusbar pelo VBA para exibir o momento em que está o processo.
Sub lsProcessamento()
DoEvents
Dim i As Long
Application.StatusBar = "Fase 1 do processamento"
For i = 8 To 50000
Cells(i, 2).Value = Rnd()
Next i
Application.StatusBar = "Fase 2 do processamento"
For i = 8 To 50000
Cells(i, 3).Value = Rnd()
Next i
Application.StatusBar = "Fase 3 do processamento"
For i = 8 To 50000
Cells(i, 4).Value = Rnd()
Next i
lsPlanilha
End Sub
No exemplo abaixo temos um exemplo aonde temos o percentual do processo que já foi realizado.
Sub lsProcessamento3()
DoEvents
Dim i As Long
Dim lTotal As Long
lTotal = 149982
Range("B8:D50000").ClearContents
Application.StatusBar = "Fase 1 do processamento"
For i = 8 To 150000
Cells(i, 2).Value = Rnd()
If i Mod 10000 = 0 Then
Application.StatusBar = "Processamento: " & Format(CDbl(i / lTotal), "0.00%")
DoEvents
End If
Next i
lsPlanilha
End Sub
Veja que temos então que temos o percentual que já foi realizado a cada 10.000 registros no exemplo acima.
Download da Planilha de StatusBar VBA Excel
Realize o download da planilha com o exemplo deste artigo no botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.