Información útil na barra de estado

A alguén lle gusta, pero eu persoalmente necesito unha barra de estado só en 2 ou 3 casos:

  • despois do filtrado, mostra o número de valores restantes despois da selección
  • cando se selecciona un intervalo, mostra a suma, a media e o número de celas seleccionadas
  • no caso de arquivos pesados, podes ver o progreso no recalculo de fórmulas no libro.

Non tanto para unha liña que ocupa case todo o ancho da pantalla e colga nela todo o tempo. Tentemos ampliar esta modesta lista e engadirlle algunhas funcións útiles 🙂

Principios xerais para a xestión da barra de estado

Xestionar a barra de estado con Visual Basic é moi sinxelo. Para mostrar o teu texto nel, podes usar unha macro sinxela:

Sub MyStatus() Application.StatusBar = "¡Oh!" Final Sub  

Despois de executalo, obtemos:

Información útil na barra de estado

Para restaurar o estado orixinal da barra de estado, necesitará o mesmo curto "anti-macro":

Sub MyStatus_Off() Application.StatusBar = False End Sub  

Na versión básica, como podes ver, todo é moi sinxelo. Agora imos tentar desenvolver a idea...

Enderezo do intervalo seleccionado na barra de estado

 Na esquina superior esquerda da xanela de Excel na barra de fórmulas, sempre podes ver o enderezo da cela actual. Pero se se selecciona un rango enteiro, entón, desafortunadamente, non veremos o enderezo de selección alí: móstrase a mesma cela activa:

Información útil na barra de estado

Para resolver este problema, pode usar unha macro sinxela que mostrará o enderezo da área seleccionada na barra de estado. Ademais, esta macro debería lanzarse automaticamente, con calquera cambio na selección en calquera folla, para iso colocarémola no controlador de eventos. Cambio de selección noso libro.

Abre o Editor de Visual Basic usando o botón do mesmo nome da pestana revelador (Desenvolvedor) ou atallos de teclado Alt + F11 esquerda. Busca o teu libro na esquina superior esquerda do panel Proxecto e abre o módulo nel facendo dobre clic Este libro (Este Caderno de traballo):

Na xanela que se abre, copie e pegue 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, cando se selecciona calquera intervalo (incluíndo máis dun!), o seu enderezo mostrarase na barra de estado:

Información útil na barra de estado

Para evitar que se fusionen os enderezos de varios intervalos seleccionados con Ctrl, pode engadir unha pequena mellora: use a función Substituír para substituír unha coma por unha coma cun espazo:

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

Número de celas seleccionadas na barra de estado

Cando se selecciona calquera intervalo, o número de celas seleccionadas non baleiras móstrase no lado dereito da barra de estado por defecto. Ás veces cómpre saber o número de asignados. Esta tarefa tamén se pode realizar cunha macro sinxela para xestionar o evento do libro SelectionChange, como no exemplo anterior. Necesitarás unha macro como:

Private Sub Workbook_SheetSelectionChange(ByVal Sh como obxecto, ByVal Target como intervalo) Dim CellCount como variante, rng como intervalo para cada rng en Selection.Areas 'Iterar a través de todas as seleccións RowsCount = rng.Rows.Count 'número de filas ColumnsCount = rng.Columns . Contar 'número de columnas CellCount = CellCount + RowsCount * ColumnsCount 'acumular o número total de celas. Seguinte 'mostra na barra de estado Application.StatusBar = "Seleccionado: " & CellCount & " celas" End Sub  

Esta macro percorre todas as áreas seleccionadas con Ctrl (se hai máis dunha), almacena o número de filas e columnas de cada área nas variables RowsCount e ColumnsCount e acumula o número de celas na variable CellCount, que se mostra entón. na barra de estado. No traballo quedará así:

Información útil na barra de estado

Por suposto, pode combinar esta e as anteriores macros para mostrar ao mesmo tempo o enderezo do rango seleccionado e o número de celas. Só tes que cambiar unha penúltima liña a:

Application.StatusBar = "Seleccionado: " & Substituír(Selection.Address(0, 0), ",", ", ") & " - total " & CellCount & " celas"  

Entón a imaxe será moi marabillosa:

Información útil na barra de estado

Ben, creo que entendes a idea. Suxire nos comentarios: que máis sería útil mostrar na barra de estado?

  • Que son as macros, como funcionan, como usalas e crealas
  • Cómoda selección de coordenadas nunha folla de Excel
  • Como facer fórmulas complexas máis visuais

Deixe unha resposta