Uso de la propiedad StatusBar en vba Excel

El objeto Application, el cual se refiere a Excel como aplicación, entre sus tantas propiedades tenemos la de StatusBar, la cual puede usarse como un perfecto auxiliar visual al momento de que ejecutamos nuestra macros, ya que muestra un texto definido o variable en la barra de estado de Excel.

Cómo funciona ??

La barra de estado acepta sólo texto, por lo tanto podremos asignarle cualquier valor alfanumérico. StatusBar es una propiedad de Application, así que si tecleamos el nombre del objeto y terminamos con un punto, saldrán todas las propiedades y métodos, incluido la que nos compete.

Imagen de ejemplo

image

Ejemplos

Antes de ver los ejemplos, te comento que muchos programadores utilizan esta propiedad aunada a la propiedad ScreenUpdating, para mostrar el progreso de sus macros sin tener que mostrar todos los pasos de la macro.

Sub LiberarBarraDeEstado()
'Nos permite dejar lista la barra de estado para asignarle nuevos valores
'y/o dejarle el contro a Excel.
Application.StatusBar = False
End Sub
Sub PonerTextoEnBarraDeEstado()
'Definimos una cadena de texto para que se muestre en la barra de estado.
Dim MiValor As String
MiValor = "Ejemplo de texto en barra de estado"
Application.StatusBar = MiValor
End Sub
Sub PonerAlfaNumericoEnBarraDeEstado()
'Definimos una operación matemática para que se muestre en la barra de estado.
Dim Valor1 As Integer, Valor2 As Integer, Resultado As Integer
Dim Texto As String
Valor1 = 10
Valor2 = 40
Resultado = Valor1 + Valor2
Texto = "La suma de " & Valor1 & " y  " & Valor2 & " es igual a " & Resultado
Application.StatusBar = Texto
End Sub
Sub MostrarNombreHojaYArchivo()
'Se mostrará el nombre del archivo y de la hoja activa. Aquí los datos son variables.
Dim NombreArchivo As Variant, NombreHoja As Variant
NombreArchivo = Application.ThisWorkbook.Name
NombreHoja = Application.ActiveSheet.Name
Texto = "Mi archivo se llama " & NombreArchivo & " y la hoja activa se llama " & NombreHoja
Application.StatusBar = Texto
End Sub

2 thoughts on “Uso de la propiedad StatusBar en vba Excel”

  1. Como puedo usar esta propiedad con rango de celdas seleccionados, es decir, quisiera mostrar el numero de celdas de un color especifico de mi rango.

    1. sergioacamposh

      Te recomiendo revisar el post http://exceleinfo.wordpress.com/2011/12/22/clculo-en-barra-de-estado-en-excel-2003-similar-a-excel-2010/

      El siguiente código te ayuda a lo que necesitas. El color es tu decisión y lo puedes asignar en el ColorIndex.

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Dim Suma As Integer
      Dim Celda As Range
      If Selection.Cells.Count > 1 Then
      Suma = 0
      For Each Celda In Selection
      If Celda.Interior.ColorIndex = 10 Then
      Suma = Suma + 1
      End If
      Next Celda
      Application.StatusBar = "Hay " & Suma & " celda de color verde."
      Else
      Application.StatusBar = False
      End If
      End Sub

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top