Información útil en la barra de estado

A alguien le gusta, pero personalmente necesito una barra de estado solo en 2-3 casos:

  • después de filtrar, muestra la cantidad de valores restantes después de la selección
  • cuando se selecciona un rango, muestra la suma, el promedio y el número de celdas seleccionadas
  • en el caso de archivos pesados, puede ver el progreso en el recálculo de fórmulas en el libro.

No tanto por una línea que ocupa casi todo el ancho de la pantalla y cuelga de ella todo el tiempo. Intentemos expandir esta modesta lista y agregarle algunas características útiles más 🙂

Principios generales para gestionar la barra de estado

Administrar la barra de estado con Visual Basic es muy fácil. Para mostrar su texto en él, puede usar una macro simple:

Sub MyStatus() Application.StatusBar = "¡Vaya!" Finalizar sub  

Después de ejecutarlo, obtenemos:

Información útil en la barra de estado

Para restaurar el estado original de la barra de estado, necesitará el mismo "anti-macro" breve:

Sub MyStatus_Off() Application.StatusBar = Sub final falso  

En la versión básica, como puedes ver, todo es muy simple. Ahora tratemos de desarrollar la idea…

Dirección del rango seleccionado en la barra de estado

 En la esquina superior izquierda de la ventana de Excel en la barra de fórmulas, siempre puede ver la dirección de la celda actual. Pero si se selecciona un rango completo, entonces, desafortunadamente, no veremos la dirección de selección allí; se muestra la misma celda activa única:

Información útil en la barra de estado

Para resolver este problema, puede usar una macro simple que mostrará la dirección del área seleccionada en la barra de estado. Además, esta macro debe iniciarse automáticamente, con cualquier cambio en la selección en cualquier hoja; para esto, la colocaremos en el controlador de eventos. SelecciónCambiar nuestro libro.

Abra el Editor de Visual Basic usando el botón del mismo nombre en la pestaña revelador (Desarrollador) o atajos de teclado Alt izquierdo+F11. Busque su libro en la esquina superior izquierda del panel Proyecto y abra el módulo haciendo doble clic Este libro (Este libro de trabajo):

En la ventana que se abre, copie y pegue el siguiente código de macro:

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

Ahora, cuando se selecciona cualquier rango (¡incluso más de uno!), su dirección se mostrará en la barra de estado:

Información útil en la barra de estado

Para evitar que se fusionen las direcciones de varios rangos seleccionados con Ctrl, puede agregar una pequeña mejora: use la función Reemplazar para reemplazar una coma con una coma con un espacio:

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

Número de celdas seleccionadas en la barra de estado

Cuando se selecciona cualquier rango, el número de celdas seleccionadas no vacías se muestra en el lado derecho de la barra de estado de forma predeterminada. A veces es necesario saber el número de asignado. Esta tarea también se puede realizar con una macro simple para manejar el evento del libro SelectionChange, como en el ejemplo anterior. Necesitarás una 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 'Iterar a través de todas las selecciones RowsCount = rng.Rows.Count 'número de filas ColumnsCount = rng.Columns . Contar 'número de columnas CellCount = CellCount + RowsCount * ColumnsCount 'acumular el número total de celdas Siguiente 'mostrar en la barra de estado Application.StatusBar = "Seleccionado: " & CellCount & " celdas" End Sub  

Esta macro recorre todas las áreas seleccionadas con Ctrl (si hay más de una), almacena la cantidad de filas y columnas en cada área en las variables RowsCount y ColumnsCount, y acumula la cantidad de celdas en la variable CellCount, que luego se muestra en la barra de estado. En el trabajo se verá así:

Información útil en la barra de estado

Por supuesto, puede combinar esta y las macros anteriores para mostrar tanto la dirección del rango seleccionado como el número de celdas al mismo tiempo. Solo necesita cambiar una penúltima línea a:

Application.StatusBar = "Seleccionado: " & Reemplazar (Selection.Address(0, 0), ",", ", ") & " - total " & CellCount & " celdas"  

Entonces la imagen será bastante maravillosa:

Información útil en la barra de estado

Bueno, creo que entiendes la idea. Sugiera en los comentarios: ¿qué más sería útil mostrar en la barra de estado?

  • Qué son las macros, cómo funcionan, cómo usarlas y crearlas
  • Cómoda selección de coordenadas en una hoja de Excel
  • Cómo hacer fórmulas complejas más visuales

Deje un comentario