A barra de status no Excel pode ser usada como um monitor de código. Quando seu código VBA é longo e você executa várias tarefas usando o VBA, geralmente desativa a atualização da tela para não ver a tela piscando. Mas, devido a isso, você não consegue saber o que está acontecendo em seu código.
Se você não sabe onde está a barra de status no Excel, aqui está:
Você pode usar uma barra de status do Excel para obter informações do Excel sem interferir na execução do código. Você pode exibir estágios do seu Marco na barra de status ou usá-lo como uma barra de progresso.
Código VBA para exibir mensagens na barra de status do Excel
Application.StatusBar = "Mensagem"
StatusBar é uma propriedade do objeto Aplicativo que recebe texto como entrada.
Neste exemplo, estou apenas mostrando qual função está sendo executada …
Sub DisplayMessageOnStatusBar () Application.ScreenUpdating = False Application.StatusBar = "Chamando a função um" 'chamar function_1 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "Chamando a função dois" 'Chamar function_2 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "Chamando a função três" 'Chamar function_3 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "" Application.ScreenUpdating = True End Sub
Neste exemplo, a atualização da tela é definida como False no início.
Agora, antes de chamar a função_1, estou exibindo uma mensagem que está chamando a função um.
Application.Wait (Now + TimeValue ("00: 00: 2")) esta linha de código é apenas para simular uma chamada de função longa para que eu tenha 2 segundos para ver isso na minha barra de status.
Fiz isso antes de todas as chamadas de função e, no final, coloquei a barra de status em branco (“”).
As mensagens da barra de status são bastante úteis para exibir mensagens ao trabalhar com códigos longos. Quando seu código passa por vários estágios ou executa um loop longo, você pode mostrar isso na barra de status para que o usuário saiba que o código está sendo executado. Caso contrário, o usuário pode pensar que o sistema travou ou algo assim.
Agora você pode obter informações de forma inteligente na barra de status usando o VBA do Excel 2016, 2013, 2010 e 2007 usando este one-liner.
ANTIGO POST
Determinados códigos / macros vba demoram muito para serem executados ou executam as ações necessárias. Se você desligou a atualização de tela usando a linha Application.ScreenUpdating = False no início de seu código, então, se qualquer usuário executar o código, eles não saberão o que está acontecendo e pensarão que o sistema do computador não está respondendo. Você pode solicitar que o código exiba uma mensagem de status na barra de status para que o usuário seja informado sobre o status atual do código.
Aqui está um código simples que fornece uma caixa de mensagem mostrando os valores na coluna A começando da linha 2 até a última linha. A barra de status mostrará a mensagem “Macro em execução” conforme o código está sendo executado e, uma vez que o código for feito, mostrará “Pronto” que é uma das mensagens padrão do Excel.
Option Explicit Sub macro1 () Dim i As Long, lrow As Long Application.ScreenUpdating = False Application.DisplayAlerts = False Application.DisplayStatusBar = True With Worksheets (“Sheet1”) lrow = .Range (“A” & .Rows.Count) .End (xlUp) .Row For i = 2 to lrow Application.StatusBar = “Macro running” Msgbox .Range (“A” & i) .Value Next i End With Application.StatusBar = “” Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
Para copiar o código acima para o seu arquivo,
- Pressione Alt + F11 no teclado.
- No lado esquerdo, você verá Objetos do Microsoft Excel.
- Clique com o botão direito e selecione Inserir.
- Em seguida, clique em Módulo.
- Copie o código para a janela de código à direita.
Você pode ver o código postado no módulo abaixo -
Agora vamos entender o que cada linha do código faz -
Portanto, primeiro definimos DISPLAYSTATUSBAR como true e, em seguida, definimos a mensagem para a barra de status. Assim que usarmos Application.StatusBar = “” no final do código, ele reverterá para a mensagem padrão do Excel que é PRONTA.
Aqui está uma foto da barra de status enquanto a macro está em execução.
Depois que a macro for concluída, a barra de status mostrará o seguinte -
Da mesma forma, você pode atualizar a barra de status em diferentes partes do código, para que o usuário saiba o que está acontecendo enquanto a macro é executada. Às vezes, pode haver uma ou mais macros que abrangem vários processos e esta barra de status será útil para saber em qual processo a macro atingiu.
Se você gostou de nossos blogs, compartilhe com seus amigos no Facebook. E você também pode nos seguir no Twitter e no Facebook.
Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar, complementar ou inovar nosso trabalho e torná-lo melhor para você. Escreva-nos no site de e-mail
Artigos populares:
50 atalhos do Excel para aumentar sua produtividade
Como usar a função PROCV no Excel
Como usar a função CONT.SE no Excel
Como usar a função SUMIF no Excel