Informações úteis na barra de status

Alguém gosta, mas eu pessoalmente preciso de uma barra de status apenas em 2-3 casos:

  • após a filtragem, exibe o número de valores restantes após a seleção
  • quando um intervalo é selecionado, ele exibe a soma, a média e o número de células selecionadas
  • no caso de arquivos pesados, você pode ver o progresso no recálculo das fórmulas no livro.

Não tanto para uma linha que ocupa quase toda a largura da tela e fica pendurada nela o tempo todo. Vamos tentar expandir esta lista modesta e adicionar mais alguns recursos úteis a ela 🙂

Princípios gerais para gerenciar a barra de status

Gerenciar a barra de status com o Visual Basic é muito fácil. Para exibir seu texto nele, você pode usar uma macro simples:

Sub MyStatus() Application.StatusBar = "Привет!" Finalizar Sub  

Após executá-lo, obtemos:

Informações úteis na barra de status

Para restaurar o estado original da barra de status, você precisará do mesmo “anti-macro” curto:

Sub MyStatus_Off() Application.StatusBar = False End Sub  

Na versão básica, como você pode ver, tudo é muito simples. Agora vamos tentar desenvolver a ideia…

Endereço do intervalo selecionado na barra de status

 No canto superior esquerdo da janela do Excel na barra de fórmulas, você sempre pode ver o endereço da célula atual. Mas se um intervalo inteiro for selecionado, infelizmente, não veremos o endereço de seleção lá - a mesma célula ativa única é exibida:

Informações úteis na barra de status

Para resolver esse problema, você pode usar uma macro simples que exibirá o endereço da área selecionada na barra de status. Além disso, essa macro deve ser iniciada automaticamente, com qualquer alteração na seleção em qualquer planilha - para isso, a colocaremos no manipulador de eventos Alteração de seleção nosso livro.

Abra o Editor do Visual Basic usando o botão de mesmo nome na guia revelador (Desenvolvedor) ou atalhos de teclado Alt esquerdo + F11. Encontre seu livro no canto superior esquerdo do painel Projeto e abra o módulo nele clicando duas vezes Este livro (Esta pasta de trabalho):

Na janela que se abre, copie e cole o seguinte código de macro:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub  

Agora, quando qualquer intervalo for selecionado (incluindo mais de um!), seu endereço será exibido na barra de status:

Informações úteis na barra de status

Para evitar que os endereços de vários intervalos selecionados com Ctrl sejam mesclados, você pode adicionar uma pequena melhoria – use a função Substituir para substituir uma vírgula por uma vírgula por um espaço:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub  

Número de células selecionadas na barra de status

Quando qualquer intervalo é selecionado, o número de células selecionadas não vazias é exibido no lado direito da barra de status por padrão. Às vezes você precisa saber o número de alocados. Essa tarefa também pode ser realizada com uma macro simples para manipular o evento de livro SelectionChange, como no exemplo anterior. Você precisará de uma macro como:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim CellCount As Variant, rng As Range For Each rng In Selection.Areas 'Iterate through all selections RowsCount = rng.Rows.Count 'number of rows ColumnsCount = rng.Columns . Count 'número de colunas CellCount = CellCount + RowsCount * ColumnsCount 'acumula o número total de células Next 'exibe na barra de status Application.StatusBar = "Selecionado: " & CellCount & " células" End Sub  

Essa macro percorre todas as áreas selecionadas pelo Ctrl (se houver mais de uma), armazena o número de linhas e colunas em cada área nas variáveis ​​RowsCount e ColumnsCount e acumula o número de células na variável CellCount, que é exibida na barra de estado. No trabalho ficará assim:

Informações úteis na barra de status

Claro, você pode combinar esta e as macros anteriores para exibir o endereço do intervalo selecionado e o número de células ao mesmo tempo. Você só precisa alterar uma penúltima linha para:

Application.StatusBar = "Selecionado: " & Replace(Selection.Address(0, 0), ","", ", ") & " - total " & CellCount & " células"  

Então a imagem será bastante maravilhosa:

Informações úteis na barra de status

Bem, acho que você entendeu a ideia. Sugira nos comentários – o que mais seria útil para exibir na barra de status?

  • O que são macros, como funcionam, como usá-las e criá-las
  • Seleção de coordenadas conveniente em uma planilha do Excel
  • Como tornar fórmulas complexas mais visuais

Deixe um comentário